我正在尝试找到最佳解决方案(性能和准确度)以在 Web 服务中拥有静态对象列表。
一些 Web 方法将对这些对象进行修改并在修改后返回对象的状态,而其他 Web 方法将请求当前状态。
这需要在每次操作中都准确无误,因为它与金钱有关。这个网络服务将被来自我们大型项目不同领域的请求轰炸。
我一直在查看 ConcurrentDictionary,在阅读其他一些 SO 问题时,我遇到了以下答案:https ://stackoverflow.com/a/1966462/151625
以下段落是我不想要的:
现在考虑一下。在有一个店员的商店里,如果你一直排到最前面,问店员“你有卫生纸吗”,他说“有”,然后你去“好吧,我”当我知道我需要多少时会回复你”,然后当你回到队伍的最前面时,商店当然可以卖光了。线程安全集合不会阻止这种情况。
所以基本上我在问,我应该将值锁定在 ConcurrentDictionary 中,还是违背了它的全部目的?如果我应该/可以,最好的方法是什么,如果不是,我有什么选择?