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
asynciomodule 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
asynciomodule defines its own object Future. Futures represent a processing that has still not been accomplished. - Tasks: This is a subclass of
asyncio.Futureto encapsulate and manage coroutines.
Beyond these mechanisms, asyncio provides a series of other features for the developing of applications, such...