高级API索引¶
这个页面列举了所有能用于 async/wait 的高级asyncio API 集。
Tasks¶
运行异步程序,创建Task对象,等待多件事运行超时的公共集。
run() |
创建事件循环,运行一个协程,关闭事件循环。 |
create_task() |
启动一个asyncio的Task对象。 |
await sleep() |
休眠几秒。 |
await gather() |
并发执行所有事件的调度和等待。 |
await wait_for() |
有超时控制的运行。 |
await shield() |
屏蔽取消操作 |
await wait() |
完成情况的监控器 |
current_task() |
返回当前Task对象 |
all_tasks() |
返回事件循环中所有的task对象。 |
Task |
Task对象 |
run_coroutine_threadsafe() |
从其他OS线程中调度一个协程。 |
for in as_completed() |
用 for 循环监控完成情况。 |
示例
子进程集¶
用于生成子进程和运行shell命令的工具包。
await create_subprocess_exec() |
创建一个子进程。 |
await create_subprocess_shell() |
运行一个shell命令。 |
示例
- 执行一个shell命令.
- 请参阅 子进程 APIs 相关文档.
流¶
用于网络IO处理的高级API集。
await open_connection() |
建立一个TCP连接。 |
await open_unix_connection() |
建立一个Unix socket连接。 |
await start_server() |
启动TCP服务。 |
await start_unix_server() |
启动一个Unix socket服务。 |
StreamReader |
接收网络数据的高级async/await对象。 |
StreamWriter |
发送网络数据的高级async/await对象。 |
示例
- TCP 客户端样例.
- 请参阅 streams APIs 文档。
同步¶
能被用于Task对象集的,类似线程的同步基元组件。
Lock |
互斥锁。 |
Event |
事件对象。 |
Condition |
条件对象 |
Semaphore |
信号量 |
BoundedSemaphore |
有界的信号量。 |
示例
- asyncio.Event 的用法.
- 请参阅asyncio文档 synchronization primitives.
异常¶
asyncio.TimeoutError |
类似 wait_for() 等函数在超时时候被引发。请注意 asyncio.TimeoutError 与内建异常 TimeoutError 无关。 |
asyncio.CancelledError |
当一个Task对象被取消的时候被引发。请参阅 Task.cancel() 。 |
示例
- 在取消请求发生的运行代码中如何处理CancelledError异常.
- 请参阅完整的 asyncio 专用异常 列表.