Vaidik Kapoor - Understanding Non-blocking IO

Опубликовано: 16 Февраль 2025
на канале: EuroPython Conference
13,202
95

Vaidik Kapoor - Understanding Non-blocking IO
[EuroPython 2015]
[21 July 2015]
[Bilbao, Euskadi, Spain]

As an engineer working on any web stack, you may have heard about
Blocking and Non-Blocking IO. You may as well have used any framework
or library that supports Non-Blocking IO. After all, they are very
useful as you don't want to block execution of other tasks while one
task is waiting to complete a network call to another service (like
HTTP call to an API or may be a TCP call to your database). Non-
Blocking IO while doing tasks and not wait for IO. This also helps us
handle a lot many connections than we possibly could with Blocking IO.
Python supports Non-Blocking IO, but we always use some existing 3rd
party library that hides all the gory details and makes it all look
like black magic to the uninitiated. But there is nothing like black
magic.

This presentation will be an introductory talk focused at explaining
how Non-Blocking IO works, which is the basis of libraries like
Gevent, Tornado and Twisted. We will learn about how Non-Blocking IO
can be implemented using the most basic modules that form the base for
the above mentioned libraries. Hopefully after this talk, Non-Blocking
IO will not be an unsolved mystery for you anymore.