我有一点读者/作家的问题。
我有一个特定对象的静态集合,许多读者和作者可以同时访问这些对象。
作者将从集合处理程序中获取一个项目,然后以某种方式对其进行修改。
阅读器可以从集合处理程序中获取该特定项目,然后以某种方式显示它。
现在我意识到这个问题的标准解决方案是创建一个锁(或一个 ReaderWriter 锁)并强制每个写入器和读取器进入锁。问题是我不是唯一一个添加读取器/写入器的人,因此有人可能会忘记在他们的实现中使用锁并破坏一切。
那么有没有办法从对象的角度强制所有更改以原子方式进行?请记住,该对象将以多种形式扩展,并且它们也必须以这种方式进行约束。