asyncio
— Асинхронный ввод-вывод¶
asyncio — это библиотека для написания конкурентного кода с использованием синтаксиса async/await.
asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые обеспечивают высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределённые очереди задач и т. д.
asyncio часто идеально подходит для связанного с вводом-выводом и высокоуровневого структурированного сетевого кода.
asyncio предоставляет API высокого уровня для следующих задач:
- одновременного запуска сопрограмм (корутин) Python с полным контролем над их выполнением;
- выполнением сетевого ввод-вывода и IPC;
- управления подпроцессами;
- распределения задач через очереди;
- синхронизации конкурентного кода.
Кроме того, существует API низкого уровеня для разработчиков библиотек и фреймворков:
- создавать и управлять циклами событий, которые
предоставляют асинхронные API для
сети
, запускаподпроцессов
, обработкусигналов ОС
и т. д; - реализовать эффективные протоколы, используя транспоры;
- мост для библиотек на основе обратного вызова и кода с синтаксисом async/await.
Ссылки
API высокого уровня
API низкого уровня
Руководства и учебные пособия
Примечание
Исходный код asyncio можно найти в Lib/asyncio/.