高级 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()

异步地在单独的 OS 线程中运行函数。

run_coroutine_threadsafe()

从另一个 OS 线程调度协程。

for in as_completed()

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

示例

队列

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

Queue

先进先出队列。

PriorityQueue

优先级队列。

LifoQueue

后进先出队列。

示例

子进程

用于生成子进程和运行 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

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

StreamWriter

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

示例

同步

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

Lock

互斥锁。

Event

事件对象。

Condition

条件对象。

Semaphore

信号量。

BoundedSemaphore

有界信号量。

Barrier

屏障对象。

示例

异常

asyncio.CancelledError

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

asyncio.BrokenBarrierError

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

示例