如何开发基于操作的锁机制?

How to develop lock mechanism based on operations?

我有 3 个不同的操作:adddeleteget

虽然可以有任意数量的 get 操作 运行 并行,但不能有任何操作与 adddelete 并行,即,虽然添加新项目不能有任何 adddeleteget 操作。这也适用于 delete 操作。

如果我只使用锁对象,就无法进行并行获取操作。这种锁机制的正确实现方式是什么?

您似乎想要 "Reader-Writer" 锁。 Python 默认情况下没有它(我认为)。您可能需要 google 搜索外部库。

This came up from a google search。我没用过,但从文档来看,用法似乎很简单。

或者,如果您想推出自己的实现,您可以使用 threading.Condition 来实现,同时跟踪读者数量。