# `asyncio` — Asynchroniczne I/O

asyncio jest biblioteką do pisania równoległego kodu przy użyciu składni async/await.

asyncio jest używane jako podstawa dla wielu asynchronicznych framework’ów Pythona, które zapewniają wysoką wydajność sieci i serwerów internetowych, bibliotek połączeń z bazami danych, rozproszonych kolejek zadań itp.

asyncio is often a perfect fit for IO-bound and high-level structured network code.

Zobacz także

Konceptualny przegląd:mod:!asyncio

  Explanation of the fundamentals of asyncio.

asyncio zapewnia zestaw wysopoziomowych interfejsów API do:

- uruchamiania równoległych korutyn Pythona oraz pełnej kontroli nad ich wykonywaniem;

- perform network IO and IPC;

- control subprocesses;

- distribute tasks via queues;

- synchronize concurrent code;

Additionally, there are low-level APIs for library and framework developers to:

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

- implement efficient protocols using transports;

- bridge callback-based libraries and code with async/await syntax.

Dostępność: 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'

This REPL provides limited compatibility with `PYTHON_BASIC_REPL`. It is recommended that the default REPL is used for full functionality and the latest features.

Raises an auditing event `cpython.run_stdin` with no arguments.

Zmienione w wersji 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.

Zmienione w wersji 3.13: Uses PyREPL if possible, in which case `PYTHONSTARTUP` is also executed. Emits audit events.

Reference

Wysokopoziomowe interfejsy API

- Runners
- Coroutines and tasks
- Streams
- Synchronization Primitives
- Subprocesses
- Queues
- Wyjątki
- Call Graph Introspection

niskopoziomowe interfejsy API

- Event loop
- Futures
- Transports and Protocols
- Policies
- Platform Support
- Extending

Przewodniki i samouczki

- High-level API Index
- Low-level API Index
- Developing with asyncio

Informacja

The source code for asyncio can be found in Lib/asyncio/.