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

示例