Python multiprocessing
模块有一个用于重入/递归锁的类:
from multiprocessing import RLock
l = RLock()
l.acquire()
l.acquire()
l.release()
l.release()
这适用于从公共父进程分叉的进程,因此可以共享相同的RLock
对象。但是,对于具有独立进程的情况(例如:Web服务器+ cron作业),需要命名锁定。不幸的是,RLock()
不接受锁的名称参数。有没有一个解决方案可以做这样的事情?
l = RLock('mylock')
l.acquire()
l.release()
答案 0 :(得分:0)
结帐oslo_concurrency.lockutils
。它有一个lock
上下文管理器和一个synchronized
装饰器,它们都带有名称和其他方便的进程间友好参数。