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


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

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

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

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

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

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

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

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

Availability: это не Emscripten, это был не я.

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

асинхронное ВОСПРОИЗВЕДЕНИЕ

Вы можете поэкспериментировать с 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'

Выдает auditing event cpython.run_stdin без каких-либо аргументов.

Изменено в версии 3.11.10: (также 3.10.15, 3.9.20 и 3.8.20) Генерирует события аудита.

Ссылка

Примечание

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

Вернуться на верх