asyncio — Asynchronous I/O


asyncio — це бібліотека для написання паралельного коду за допомогою синтаксису async/await.

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

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

asyncio пропонує набір високорівневого API для:

Також існують низькорівневі API для розробників бібліотек і фреймворків, щоб:

  • create and manage event loops, which provide asynchronous APIs for networking, running subprocesses, handling OS signals, etc;

  • реалізувати ефективні протоколи за допомогою transports;

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

Availability: not Emscripten, not WASI.

This module does not work or is not available on WebAssembly platforms wasm32-emscripten and wasm32-wasi. See WebAssembly platforms for more information.

asyncio REPL

You can experiment with an asyncio concurrent context in the 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'

Викликає подію аудиту cpython.run_stdin без аргументів.

Змінено в версії 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.

Посилання

Примітка

Вихідний код для asyncio можна знайти в Lib/asyncio/.