标签: python locking gevent
gevent中的RLock等价物是什么?如果没有等价物,如何识别当前的greenlet,以便我可以实现一个?
通过阅读源代码,gevent.lock.BoundedSemaphore(1)相当于一个简单的(非重入)Lock。测试也表明了这一点。
答案 0 :(得分:1)
gevent.lock模块的实施RLock,使用getcurrent gevent.hub方法来识别当前的greenlet。这是一个简单的例子。
gevent.lock
RLock
getcurrent
gevent.hub
from gevent.lock import RLock lock = RLock() with lock: print("acquired once") with lock: print("acquired twice")
虽然我找不到任何文档here,但您始终可以阅读source。