In the previous chapter, we learned how to distribute tasks using the Celery framework and parallelize computing in different machines linked by a network. Now, we are going to explore asynchronous programming, event loop, and coroutines, which are resources featured in the
asyncio module available in Python Version 3.4. We are also going to learn to make use of those in combination with executors.
In this chapter, we will cover:
Blocking, nonblocking, and asynchronous operations
Understanding event loop