asyncio
— 异步 I/O¶
asyncio 是一个使用 async/await 语法编写并发代码的库。
asyncio 被用作多个 Python 异步框架的基础,这些框架提供高性能的网络和 Web 服务器、数据库连接库、分布式任务队列等。
asyncio 通常非常适合 IO 密集型和高级结构化网络代码。
参见
- asyncio 概念概览
对 asyncio 基础知识的解释。
asyncio 提供了一套高层级 API 用于:
并发运行 Python 协程并完全控制它们的执行;
执行网络 IO 和 IPC;
控制子进程;
通过队列分发任务;
同步并发代码;
此外,还有一些低层级 API 供库和框架的开发者使用,用于:
可用性:非 WASI。
此模块在 WebAssembly 上不起作用或不可用。有关更多信息,请参阅 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'
触发一个不带参数的审计事件 cpython.run_stdin
。
在 3.12.5 版本发生变更: (也包括 3.11.10、3.10.15、3.9.20 和 3.8.20)会触发审计事件。
在 3.13 版本发生变更: 如果可能,则使用 PyREPL,在这种情况下 PYTHONSTARTUP
也会被执行。会触发审计事件。
参考
指南和教程
备注
asyncio 的源代码可以在 Lib/asyncio/ 中找到。