高级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 循环监控完成情况。

示例

队列集

队列集被用于多个异步Task对象的运行调度,实现连接池以及发布/订阅模式。

Queue 先进先出队列
PriorityQueue 优先级队列。
LifoQueue 后进先出队列。

示例

子进程集

用于生成子进程和运行shell命令的工具包。

await create_subprocess_exec() 创建一个子进程。
await create_subprocess_shell() 运行一个shell命令。

示例

用于网络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对象。

示例

同步

能被用于Task对象集的,类似线程的同步基元组件。

Lock 互斥锁。
Event 事件对象。
Condition 条件对象
Semaphore 信号量
BoundedSemaphore 有界的信号量。

示例

异常

asyncio.TimeoutError 类似 wait_for() 等函数在超时时候被引发。请注意 asyncio.TimeoutError 与内建异常 TimeoutError 无关。
asyncio.CancelledError 当一个Task对象被取消的时候被引发。请参阅 Task.cancel()

示例