即便如此,枚举一个集合本质上并不是一个线程安全的过程。在枚举与写访问争用的罕见情况下,必须在整个枚举期间锁定集合。若要允许多个线程访问集合以进行读写,您必须实现自己的同步。在我的asp.net应用程序中,我偶尔会看到从内部System.Collections.Generic.Dictionary`2.Insert.生成的NullReferenceExceptions。下面的代码不会导致异常,尽管单独的线程会访问本地字典。class P
As
ConcurrentDictionary<TKey, TValue>类表示可以由多个线程并发访问的键值对的线程安全集合。我有Dictionary<Key,Value>,它在服务器中保持在线客户端,当我访问对象时,我通过锁定对象使它线程安全。在我的情况下,我能安全地用Dictionary<TKey,TValue>代替ConcurrentDictionary<TKey,TValue>吗</em