asyncio — Асинхронное ввод-вывод
asyncio — это библиотека для написания конкурентного кода с использованием синтаксиса async/await.
asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые предоставляют высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределённые очереди задач и т.д.
asyncio часто идеально подходит для задач ввода-вывода и высокоуровневого структурированного сетевого кода.
asyncio предоставляет набор высокоуровневых API для:
- выполнять Python-корутины конкуретно и полностью контролировать их выполнение;
- выполнять сетевой ввод-вывод и IPC;
- контролировать подпроцессы;
- распределять задачи через очереди;
- синхронизировать конкуретный код;
Кроме того, есть низкоуровневые API для разработчиков библиотек и фреймворков для:
- создания и управления циклами событий, которые предоставляют асинхронные API для сети, запуска подпроцессов, обработки сигналов ОС и т.д;
- реализации эффективных протоколов с помощью транспортов;
- сопрягать библиотеки и код на основе обратных вызовов с синтаксисом 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'
Доступность: не Emscripten, не WASI.
Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi. См. платформы WebAssembly для получения дополнительной информации.
Справочник
Высокоуровневые API
Низкоуровневые API
Руководства и учебные пособия
Примечание
Исходный код asyncio можно найти в Lib/asyncio/.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/library/asyncio.html