[go: up one dir, main page]

0% found this document useful (0 votes)
2 views3 pages

Asyncio

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Asyncio

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

"asyncio" --- Asynchronous I/O

******************************

======================================================================

Hello World!
^^^^^^^^^^^^

import asyncio

async def main():


print('Hello ...')
await asyncio.sleep(1)
print('... World!')

asyncio.run(main())

asyncio is a library to write **concurrent** code using the


**async/await** syntax.

asyncio is used as a foundation for multiple Python asynchronous


frameworks that provide high-performance network and web-servers,
database connection libraries, distributed task queues, etc.

asyncio is often a perfect fit for IO-bound and high-level


**structured** network code.

See also:

A Conceptual Overview of asyncio


Explanation of the fundamentals of asyncio.

asyncio provides a set of **high-level** APIs to:

* run Python coroutines concurrently and have full control over their
execution;

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

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'

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

Changed in version 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20)


Emits audit events.

Changed in version 3.13: Uses PyREPL if possible, in which case


"PYTHONSTARTUP" is also executed. Emits audit events.

-[ Reference ]-

High-level APIs
^^^^^^^^^^^^^^^

* Runners

* Coroutines and Tasks

* Streams

* Synchronization Primitives

* Subprocesses

* Queues

* Exceptions

* Call Graph Introspection

Low-level APIs
^^^^^^^^^^^^^^

* Event Loop

* Futures

* Transports and Protocols

* Policies

* Platform Support

* Extending
Guides and Tutorials
^^^^^^^^^^^^^^^^^^^^

* High-level API Index

* Low-level API Index

* Developing with asyncio

Note:

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

You might also like