asyncio --- 非同步 I/O


asyncio 是讓使用者以 async/await 語法來編寫並行 (concurrent) 程式碼的函式庫 (library)。

asyncio 作為多個 Python 非同步框架的基礎,在高效能網路與網頁伺服器、資料庫連線函式庫、分散式任務佇列等服務都可以看得到它。

asyncio 往往是個建構 IO 密集型與高階層結構化網路程式碼的完美選擇。

asyncio 提供了一系列高階 API:

此外,還有一些給函式庫與框架 (framework) 開發者低階 API:

可用性: 非 Emscripten,非 WASI。

此模块在 WebAssembly 平台 wasm32-emscriptenwasm32-wasi 上不适用或不可用。 请参阅 WebAssembly 平台 了解详情。

asyncio REPL

你可以在 REPL 中尝试使用 asyncio 并发上下文:

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

在 3.11.10 版的變更: (also 3.10.15, 3.9.20, and 3.8.20) Emits audit events.

參閱

備註

asyncio 的原始碼可以在 Lib/asyncio/ 中找到。