Mastering Python Concurrency and Parallelism
Эта книга представляет собой всеобъемлющее руководство для опытных разработчиков Python, стремящихся освоить продвинутые техники конкурентного и параллельного программирования. Автор подробно рассматривает фундаментальные концепции, различая concurrency (конкурентность) и parallelism (параллелизм), и объясняет их практическое применение в современных приложениях.
Книга охватывает все ключевые аспекты работы с многопоточностью в Python: от основ работы с потоками (threading) и управления ими до сложных тем, связанных с асинхронным программированием с использованием asyncio. Особое внимание уделяется работе с Global Interpreter Lock (GIL) — пониманию его влияния на производительность, стратегиям обхода ограничений и эффективному использованию в различных сценариях.
В практических главах рассматривается использование многопроцессорности (multiprocessing) для достижения реального параллелизма, проектирование конкурентных структур данных и алгоритмов, а также применение различных параллельных архитектур и паттернов (MapReduce, пайплайны, реактивное программирование). Книга завершается разбором реальных кейсов применения конкурентности в веб-серверах, аналитических пайплайнах, системах реального времени, машинном обучении и IoT.









