當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python asyncio.Condition用法及代碼示例


用法:

class asyncio.Condition(lock=None)

條件對象。不是線程安全的。

任務可以使用異步條件原語來等待某個事件發生,然後獲得對共享資源的獨占訪問權。

實質上,Condition 對象結合了 EventLock 的函數。可以讓多個條件對象共享一個鎖,這允許在對共享資源的特定狀態感興趣的不同任務之間協調對共享資源的獨占訪問。

可選的 lock 參數必須是 Lock 對象或 None 。在後一種情況下,會自動創建一個新的 Lock 對象。

在 3.10 版中更改:刪除了loop範圍。

使用條件的首選方法是 async with 語句:

cond = asyncio.Condition()

# ... later
async with cond:
    await cond.wait()

這相當於:

cond = asyncio.Condition()

# ... later
await cond.acquire()
try:
    await cond.wait()
finally:
    cond.release()

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 asyncio.Condition。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。