高级 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 任务之间分配工作、实现连接池和发布/订阅模式。

队列

先进先出 (FIFO) 队列。

PriorityQueue

一个优先队列。

LifoQueue

一个后进先出 (LIFO) 队列。

示例:

子进程

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

await create_subprocess_exec()

创建一个子进程。

await create_subprocess_shell()

运行 shell 命令。

示例:

用于网络 IO 的高级 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 对象,用于发送网络数据。

示例:

同步

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

一个互斥锁。

事件

一个事件对象。

条件

一个条件对象。

信号量

一个信号量。

有界信号量

一个有界信号量。

屏障

一个 barrier 对象。

示例:

异常

asyncio.CancelledError

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

asyncio.BrokenBarrierError

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

示例: