Python Concurrency with asyncio — Matthew Fowler — обложка книги
424 страниц
Python
PDF
4.5

Python Concurrency with asyncio

Асинхронное программирование на Python

Автор:

Год:

Краткое содержимое:

Введение

Книга Python Concurrency with asyncio (Мэтью Фаулер, 2022) — это одно из самых полных современных руководств по асинхронному программированию на Python. В мире, где производительность I/O-приложений и веб-сервисов критична, asyncio стал стандартом для создания масштабируемых сетевых решений. Автор, опытный разработчик и преподаватель, последовательно ведёт читателя от базовых концепций до сложных паттернов, не забывая о тестировании, отладке и интеграции с другими библиотеками.

О чём эта книга

Книга охватывает все ключевые аспекты asyncio: от устройства event loop и корутин до работы с сокетами, HTTP-клиентами, базами данных и очередями. Особое внимание уделяется практическим примерам: созданию асинхронных веб-скраперов, чат-серверов, интеграции с aiohttp, asyncpg и Redis. В конце книги рассматриваются продвинутые темы — отладка асинхронного кода, профилирование, работа с блокирующими вызовами и синхронизация доступа к разделяемым ресурсам.

Для кого эта книга

Книга рассчитана на Python-разработчиков, уже знакомых с основами языка (функции, классы, модули), но не имеющих опыта в асинхронном программировании. Она будет полезна как backend-инженерам, желающим повысить производительность своих сервисов, так и специалистам по автоматизации, создающим высоконагруженные скрипты. Для новичков в asyncio книга станет надёжным путеводителем, а опытные разработчики найдут в ней глубокий разбор неочевидных нюансов.

Что узнает читатель

  • Основы asyncio: корутины, event loop, задачи (Task), футуры (Future).
  • Работа с сетью: асинхронные сокеты, HTTP-запросы (aiohttp), WebSocket.
  • Асинхронные базы данных: asyncpg, aiomysql, Redis.
  • Паттерны конкурентности: очереди, семафоры, блокировки, пулы соединений.
  • Тестирование и отладка: pytest-asyncio, логирование, профилирование.
  • Интеграция с синхронным кодом: run_in_executor, смешанные архитектуры.
  • Продвинутые темы: отмена задач, обработка исключений, сигналы ОС.

Сильные стороны

Главное достоинство книги — практическая направленность. Каждая глава содержит рабочие примеры, которые можно сразу запустить и модифицировать. Автор не просто объясняет API, а показывает, как избежать типичных ошибок: например, случайного блокирования event loop или неправильного использования await. Отдельно стоит отметить главу по тестированию — редкая тема в книгах по asyncio, но критически важная для production-кода. Стиль изложения ясный, с постепенным усложнением, что позволяет читать книгу последовательно, не перескакивая между темами.

Кому рекомендуется

Книга обязательна к прочтению всем, кто пишет сетевые приложения на Python: разработчикам веб-сервисов, API, чат-ботов, инструментов для сбора данных. Она также будет полезна инженерам, переходящим с многопоточности на асинхронную модель, чтобы избежать гонок данных и лишних накладных расходов. Если вы хотите понять asyncio не поверхностно, а на уровне, позволяющем создавать надёжные и производительные приложения — эта книга для вас.

Рекомендаций