高层级 API 索引
高层级 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命令。 |
例子
-
请参阅 子进程 APIs 相关文档.
流
用于网络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对象。 |
例子
-
请参阅 streams APIs 文档。
同步
能被用于Task对象集的,类似线程的同步基元组件。
| Lock | 互斥锁。 |
|---|---|
| Event | 事件对象。 |
| Condition | 条件对象 |
| Semaphore | 信号量 |
| BoundedSemaphore | 有界的信号量。 |
| Barrier | 一个 Barrier 对象。 |
例子
-
请参阅asyncio文档 synchronization primitives.
异常
| asyncio.CancelledError | 当一个Task对象被取消的时候被引发。请参阅 Task.cancel()。 |
|---|---|
| asyncio.BrokenBarrierError | 当一个 Barrier 对象被破坏时引发。 另请参阅 Barrier.wait()。 |
例子
-
请参阅完整的 asyncio 专用异常 列表.
