高级 API 索引 — Python 文档

来自菜鸟教程
Python/docs/3.8/library/asyncio-api-index
跳转至:导航、​搜索

高级 API 索引

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

任务

用于运行 asyncio 程序、创建任务和等待多个带有超时的事物的实用程序。

run() 创建事件循环,运行协程,关闭循环。
create_task() 启动 asyncio 任务。
await sleep() 睡眠几秒钟。
await gather() 同时安排和等待事情。
await wait_for() 超时运行。
await shield() 避免取消。
await wait() 监控完成。
current_task() 返回当前任务。
all_tasks() 返回事件循环的所有任务。
Task 任务对象。
run_coroutine_threadsafe() 从另一个 OS 线程调度协同程序。
for in as_completed() 监视 for 循环的完成情况。

例子

  • 使用 asyncio.gather() 并行运行
  • 使用 asyncio.wait_for() 强制超时
  • 取消
  • 使用 asyncio.sleep()
  • 另请参阅主要的 任务文档页面


队列

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

Queue 一个先进先出队列。
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 用于接收网络数据的高级异步/等待对象。
StreamWriter 发送网络数据的高级异步/等待对象。

例子


同步

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

Lock 互斥锁。
Event 一个事件对象。
Condition 一个条件对象。
Semaphore 一个信号量。
BoundedSemaphore 有界信号量。

例子


例外

asyncio.TimeoutError wait_for() 等函数在超时时引发。 请记住,asyncio.TimeoutError 与内置的 TimeoutError 异常 无关
asyncio.CancelledError 取消任务时引发。 另见 Task.cancel()

例子