同步原语 ¶
源代码: Lib/asyncio/locks.py
asyncio 同步原语的设计类似那些在
threading
模块有 2 个重要告诫:
-
asyncio 原语不是线程安全的,因此,它们不应用于 OS 线程同步 (使用
threading为此); -
这些同步原语的方法不接受 timeout 自变量;使用
asyncio.wait_for()函数采用超时履行操作。
asyncio 拥有下列基本同步原语:
锁 ¶
- class asyncio. 锁 ¶
-
为 asyncio 任务实现互斥锁。不是线程安全的。
An asyncio lock can be used to guarantee exclusive access to a shared resource.
The preferred way to use a Lock is an
async with语句:lock = asyncio.Lock() # ... later async with lock: # access shared state