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


Python asyncio.Event用法及代碼示例


用法:

class asyncio.Event

一個事件對象。不是線程安全的。

一個 asyncio 事件可用於通知多個 asyncio 任務某個事件已發生。

事件對象管理一個內部標誌,該標誌可以使用set() 方法設置為true,並使用clear() 方法重置為falsewait() 方法阻塞,直到標誌設置為 true 。該標誌最初設置為false

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

例子:

async def waiter(event):
    print('waiting for it ...')
    await event.wait()
    print('... got it!')

async def main():
    # Create an Event object.
    event = asyncio.Event()

    # Spawn a Task to wait until 'event' is set.
    waiter_task = asyncio.create_task(waiter(event))

    # Sleep for 1 second and set the event.
    await asyncio.sleep(1)
    event.set()

    # Wait until the waiter task is finished.
    await waiter_task

asyncio.run(main())

相關用法


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