rad*_*scu 6 .net c# concurrency dictionary
哪个有效,我为什么要使用其中一个?
编辑1:将Guid存储为键,将bool存储为值.
编辑2:超过2个工作线程和一个UI线程.
我会说你有以下选择.
一些新的Framework 4.0类:
所有新的4.0类都运行得更快,但有levanovd提到的一些功能.您可以在此处找到这些类的性能比较.
早期版本的一些经典解决方案:
如果我有使用Framework v3.5的限制,我会使用Dictionary + ReaderWriterLock或ReaderWriterLockSlim.
仔细阅读有关ConcurrentDictionary的内容。它具有一些不明显的功能。
这里是其中的一些:
AddOrUpdate则不能保证将调用哪个工厂委托,甚至不能保证如果工厂委托会产生某些项目,则该项目将存储在字典中。GetEnumerator调用获得的枚举器不是快照,可以在枚举期间进行修改(不会引起任何异常)。Keys和Values属性是对应集合的快照,可能与实际字典状态不对应。因此,请再次阅读有关ConcurrentDictionary的内容,并确定是否需要这种行为。
希望这可以帮助!