高层级 API 索引

这个页面列举了所有能用于 async/wait 的高层级asyncio API 集。

任务

运行异步程序,创建Task对象,等待多件事运行超时的公共集。

run()

创建事件循环,运行一个协程,关闭事件循环。

Runner

一个能够简化多次异步函数调用操作的上下文管理器。

Task

Task对象

TaskGroup

持有一组任务的上下文管理器。 它提供了一种等待分组中所有任务完成的方便可靠的方式。

create_task()

启动一个异步 Task,然后将其返回。

current_task()

返回当前Task对象

all_tasks()

返回一个事件循环的所有尚未完成的任务。

await sleep()

休眠几秒。

await gather()

并发执行所有事件的调度和等待。

await wait_for()

有超时控制的运行。

await shield()

屏蔽取消操作

await wait()

完成情况的监控器

timeout()

设置超时运行。 在 wait_for 不适合的情况下会很有用。

to_thread()

在不同的 OS 线程中异步地运行一个函数。

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 套接字服务。

StreamReader

接收网络数据的高级async/await对象。

StreamWriter

发送网络数据的高级async/await对象。

例子

同步

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

Lock

互斥锁。

Event

事件对象。

Condition

条件对象

Semaphore

信号量

BoundedSemaphore

有界的信号量。

Barrier

一个 Barrier 对象。

例子

异常

asyncio.CancelledError

当一个Task对象被取消的时候被引发。请参阅 Task.cancel()

asyncio.BrokenBarrierError

当一个 Barrier 对象被破坏时引发。 另请参阅 Barrier.wait()

例子