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...