Python Event Loop Fundamentals

Starting with asyncio.run(), coroutines, Tasks, and Futures, learn how Python’s event loop schedules waits, timers, and I/O, and where sequential await, concurrent tasks, and blocking code differ.

July 18, 2026 · 14 min · 2973 words · Andy SI
Read more

The Complete Guide to Concurrency and Parallelism in Python: The Evolution from One Thread to Multiple Cores

Starting with the fundamental distinction between concurrency and parallelism, this guide systematically explains when to use Python’s GIL, threading, multiprocessing, asyncio, and concurrent.futures, how they work together, and how to choose among them.

March 15, 2026 · 18 min · 3774 words · Andy SI
Read more

Python Async Programming: A Complete Guide from Iteration Protocols to Coroutines, Tasks, and Thread Pools

Build a practical mental model for Python async programming in web backends and AI applications, from iteration protocols, generators, and coroutine objects through awaitables, Tasks, Futures, the event loop, structured concurrency, async iteration, and thread and process pools.

March 15, 2026 · 25 min · 5122 words · Andy SI
Read more