Book Image

Parallel Programming with Python

By : Jan Palach, Jan Palach V Cruz da Silva
Book Image

Parallel Programming with Python

By: Jan Palach, Jan Palach V Cruz da Silva

Overview of this book

Table of Contents (16 chapters)
Parallel Programming with Python
About the Author
About the Reviewers

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