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
- A Conceptual Overview of 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'
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
niskopoziomowe interfejsy API
Przewodniki i samouczki
Informacja
The source code for asyncio can be found in Lib/asyncio/.