Python 我可以获得多处理';s锁定with语句?
如果一个进程未能解锁一个Python 我可以获得多处理';s锁定with语句?,python,multiprocessing,with-statement,Python,Multiprocessing,With Statement,如果一个进程未能解锁一个多处理锁,就会发生可怕的事情。为了最大限度地减少发生这种情况的可能性,我想用块获取中的锁。有什么内置的方法可以做到这一点,或者我需要自己动手吗?是的,您可以这样做: with multiprocessing.Lock(): ... 因为锁是一个上下文管理器。RLock也是如此,并且通过线程锁定和RLock 确实声明它是“threading.Lock的克隆”,因此您可以参考 [编辑2020:The]是的,您可以 各国的文件: 类多处理.锁 A non-recurs
多处理
锁,就会发生可怕的事情。为了最大限度地减少发生这种情况的可能性,我想用块获取中的锁。有什么内置的方法可以做到这一点,或者我需要自己动手吗?是的,您可以这样做:
with multiprocessing.Lock():
...
因为锁是一个上下文管理器。RLock也是如此,并且通过线程锁定和RLock
确实声明它是“threading.Lock的克隆”,因此您可以参考
[编辑2020:The]是的,您可以
各国的文件:
类多处理.锁
A non-recursive lock object: a clone of `threading.Lock`.
Reading的文档:
此模块提供的具有acquire()
和
release()
声明
对。
《公约》现在明确规定:
Lock支持上下文管理器协议,因此可以与语句一起使用
你试过了吗?它引起了什么错误?我希望这一切都会成功。@delnan我也希望如此。事实上,Lock
的实例确实有\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
和\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu<代码>使用mylock:
可以工作。文档在多处理.Lock
文档中说“threading.Lock
的克隆”,因此它可能支持相同的接口。