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