This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# `asyncio` — Asynchronous I/O

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

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

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

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

- запускати співпрограми Python одночасно та мати повний контроль над їх виконанням;

- виконувати мережевий IO та IPC;

- керування підпроцесами;

- розподіляти завдання через черги;

- синхронізувати конкурентний код;

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

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

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

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

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.9.20: (also 3.8.20) Emits audit events.

Посилання

API високого рівня

- Співпрограми та завдання
- Потоки
- Примітиви синхронізації
- Підпроцеси
- Черги
- Винятки

Низькорівневі API

- Цикл подій
- Ф’ючерси
- Транспорт і протоколи
- політики
- Підтримка платформи

Посібники та підручники

- Індекс API високого рівня
- Індекс API низького рівня
- Розробка з asyncio

Примітка

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