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 WASI.

This module does not work or is not available on WebAssembly. 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.

Змінено в версії 3.13: Uses PyREPL if possible, in which case PYTHONSTARTUP is also executed. Emits audit events.

Посилання

Примітка

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