gpt4 book ai didi

python - 为什么 Twisted 的 DeferredFilesystemLocks 对于并发使用不安全?

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:24 26 4
gpt4 key购买 nike

Twisted API for DeferredFilesystemLock ,声明 deferUntilLocked 对于并发使用是不安全的。

我想了解它在哪些方面不安全以及是什么导致它不安全,以确保我不会滥用文件锁。

最佳答案

可以说该方法对于并发使用来说实际上是相当安全的。如果你阅读 the first four lines of the implementation那么很明显,尝试并发使用将立即引发 AlreadyTryingToLockError

也许警告是为了告诉您您将获得异常而不是有用的锁定行为。

该异常的实现应该提供关于为什么不允许并发使用的提示。 DeferredFilesystemLock 使用一些实例属性(以 _tryLockCall 开头)来跟踪尝试获取锁的进度。如果允许并发尝试,他们将各自践踏彼此对该属性(和其他属性)的使用。

这可以相对容易地得到增强。所有必要的是保持与每次尝试分配的新对象上的锁定尝试相关联的状态(而不是在 DeferredFilesystemLock 实例上)。 Or, DeferredLock could help.

关于python - 为什么 Twisted 的 DeferredFilesystemLocks 对于并发使用不安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19018819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com