我有3种不同的操作:add、delete和get。
虽然可以有任意数量的get操作并行运行,但不能有任何与add和delete并行的操作,即,在添加新项时,不能有任何add、delete或get操作。这也适用于delete操作。
如果我只使用一个锁对象,并行get操作就不能完成。实现这种锁定机制的正确方式是什么?
发布于 2020-01-22 21:01:38
看起来你想要一个“读写器”锁。Python默认没有它(我认为)。你可能想用谷歌搜索外部库。
This came up from a google search。我还没有用过它,但从文档中看,用法似乎相当简单。
或者,如果您想推出自己的实现,可以使用threading.Condition来实现,同时跟踪读取器的数量。
https://stackoverflow.com/questions/59859902
复制相似问题