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


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