Using asyncio
We can define asyncio
as a module that came to reboot asynchronous programming in Python. The asyncio
module allows the implementation of asynchronous programming using a combination of the following elements:
Event loop: This was already defined in the previous section. The
asyncio
module allows an event loop per process.Coroutines: As mentioned in the official documentation of
asyncio
, "A coroutine is a generator that follows certain conventions." Its most interesting feature is that it can be suspended during execution to wait for external processing (some routine in I/O) and return from the point it had stopped when the external processing is done.Futures: The
asyncio
module defines its own object Future. Futures represent a processing that has still not been accomplished.Tasks: This is a subclass of
asyncio.Future
to encapsulate and manage coroutines.
Beyond these mechanisms, asyncio
provides a series of other features for the developing of applications, such as transports...