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
的克隆”,因此它可能支持相同的接口。