当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。