asyncio — Асинхронный ввод/вывод


asyncio - это библиотека для написания конкурентного кода с использованием синтаксиса async/await.

asyncio используется в качестве основы для множества асинхронных фреймворков Python, которые обеспечивают высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределенные очереди задач и т.д.

asyncio часто идеально подходит для связанного с IO и высокоуровневого структурированного сетевого кода.

asyncio предоставляет набор высокоуровневых API для:

Кроме того, существуют низкоуровневые API для библиотек и разработчиков фреймворков:

  • создают и управляют event loops, которые предоставляют асинхронные API для networking, запускают subprocesses, обрабатывают OS signals и т.д;

  • реализовать эффективные протоколы, используя transports;

  • bridge библиотеки, основанные на обратном вызове, и код с синтаксисом async/await.

Вы можете поэкспериментировать с параллельным контекстом asyncio в REPL:

$ python -m asyncio
asyncio REPL ...
Use "await" directly instead of "asyncio.run()".
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio
>>> await asyncio.sleep(10, result='hello')
'hello'

Availability: не WASI.

Этот модуль не работает или недоступен на WebAssembly. Дополнительную информацию см. в разделе Платформы WebAssembly.

Ссылка

Примечание

Исходный код asyncio можно найти в Lib/asyncio/.