高层 API 索引

此页面列出了所有高层的、启用 async/await 的 asyncio API。

任务

用于运行 asyncio 程序、创建任务以及等待具有超时功能的多个事物的实用工具。

run()

创建事件循环、运行协程、关闭循环。

Runner

一个上下文管理器,简化了多个异步函数调用。

Task

任务对象。

TaskGroup

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

create_task()

启动一个 asyncio 任务,然后返回它。

current_task()

返回当前任务。

all_tasks()

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

await sleep()

休眠若干秒。

await gather()

并发地调度并等待事情。

await wait_for()

以超时方式运行。

await shield()

防止取消。

await wait()

监视完成情况。

timeout()

以超时方式运行。当 wait_for 不适用时很有用。

to_thread()

在单独的操作系统线程中异步运行函数。

run_coroutine_threadsafe()

从另一个操作系统线程调度协程。

for in as_completed()

使用 for 循环监视完成情况。

示例

队列

队列应用于在多个 asyncio 任务之间分配工作、实现连接池和发布/订阅模式。

Queue

先进先出(FIFO)队列。

PriorityQueue

优先级队列。

LifoQueue

后进先出(LIFO)队列。

示例

子进程

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

await create_subprocess_exec()

创建子进程。

await create_subprocess_shell()

运行 shell 命令。

示例

用于处理网络 I/O 的高级 API。

await open_connection()

建立 TCP 连接。

await open_unix_connection()

建立 Unix 套接字连接。

await start_server()

启动 TCP 服务器。

await start_unix_server()

启动 Unix 套接字服务器。

StreamReader

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

StreamWriter

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

示例

同步

可在任务中使用的类似线程的同步原语。

Lock

互斥锁。

Event

事件对象。

Condition

条件对象。

Semaphore

信号量。

BoundedSemaphore

有界信号量。

Barrier

屏障对象。

示例

异常

asyncio.CancelledError

当任务被取消时引发。另请参阅 Task.cancel()

asyncio.BrokenBarrierError

当屏障被破坏时引发。另请参阅 Barrier.wait()

示例