高层级 API 索引

这个页面列举了所有能用于 async/await 的高层级 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()

例子