Thinking in coroutines
Lukasz Langa uses asyncio source code to explain the event loop, blocking calls, coroutines, tasks, futures, thread pool executors, and process pool executors.
![Railroad bridge beams](https://www.oreilly.com/content/wp-content/uploads/sites/2/2020/01/soft-eng-railroad-bridge-beams-crop-3507ad6634496acc3a02e80c20b6cf62.jpg)
Lukasz Langa uses asyncio source code to explain the event loop, blocking calls, coroutines, tasks, futures, thread pool executors, and process pool executors.