asyncio
--- 异步 I/O¶
asyncio 是用来编写 并发 代码的库,使用 async/await 语法。
asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。
asyncio 往往是构建 IO 密集型和高层级 结构化 网络代码的最佳选择。
asyncio 提供一组 高层级 API 用于:
并发地 运行 Python 协程 并对其执行过程实现完全控制;
执行 网络 IO 和 IPC;
控制 子进程;
通过 队列 实现分布式任务;
同步 并发代码;
此外,还有一些 低层级 API 以支持 库和框架的开发者 实现:
使用 transports 实现高效率协议;
通过 async/await 语法 桥接 基于回调的库和代码。
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.10.15 版更改: (also 3.9.20, and 3.8.20) Emits audit events.
参考
注解
asyncio 的源代码可以在 Lib/asyncio/ 中找到。