Asyncio в Python 3

Цалеб Хаттингх

 Состав исполнителей

Издания на английском языке
Автор
Цалеб Хаттингх
Редактор
Джеф Блейел
Сьюзан Конант
Редактор выпуска
Николас Адамс
Литературный редактор
Дуайт Рамси
Редактор разработки содержания
Дэйвид Футейто
Разработчик обложки
Карен Монтгомери
Иллюстратор
Ребекка Димарест
Технический рецензент
Юрий Селиванов

 Содержание

Глава 1. Введение
Ресторан Серийных ботов
Эпилог
Какие проблемы пытается решать Asyncio?
Глава 2. Вся правда о потоках
Преимущества потоков
Изнанка потоков
Пример: Роботы и Столовые приборы
Обсуждение
Глава 3. Прогулка по Asyncio
Быстрое начало
Основная башня Asyncio
Выводы
Сопрограммы
Ключевое слово нового async def
Ключевое слово нового await
Цикл событий
Задачи и фьючерсы
Создать задачу? Обеспечить фьючерс? Прими решение!
Диспетчеры контекста Async: async with
Вариант contextlib
Итераторы Async: async for
Генераторы Async: yield внутри async def функций
Сообразительность Async
Запуск и останов (Аккуратные!)
Для чего предназначено return_exceptions=True
Сигналы
Ожидание исполнителя в процессе останова
Тестирование с помощью asyncio
Глава 4. 20 библиотек Asyncio, которые вы не применяете (Но... Да ладно, не берите в голову)
Streams (Стандартная библиотека)
Пример: Очередь сообщений
Пример: Улучшенная очередь сообщений
Twisted
Очередь Janus
aiohttp
Пример: Hello World
Пример: Вытаскивание новостей
ØMQ (ZeroMQ)
Пример: множественные сокеты
Пример: APM (мониторинг производительности приложения)
asyncpg и Sanic
Пример: несостоятельность кэширования
Прочие библиотеки и ресурсы
Глава 5. Заключительные соображения
Заключительные соображения
Глава 6. Дополнения
Краткая история поддержки Async в Python
В самом начале был asyncore
Путь к естественным сопрограммам
Пример Столовых приборов с использованием Asyncio
Вспомогательные материалы для вытаскивания новостей с вебсайтов
Вспомогательные материалы для примера ZeroMQ
Обработка переключателя базы данных для примера asyncpg
Вспомогательные материалы для примера Sanic: aelapsed и aprofiler
Указатель