【发布时间】:2013-07-29 14:22:10
【问题描述】:
在我当前的项目中,我有两种方法为并发字典中的现有键赋值。
A. concurrentDictionary1[key] = value;
和
B. concurrentDictionary2.AddOrUpdate(key, value, (k, v) => value);
如果我知道“密钥”存在,它们在功能上是否等效?
并发字典的并发提供的保护是否被方法'A'绕过了?
这里有什么区别?选择其中一个的原因是什么?
我查看了 msdn 上的文档,似乎他们只使用方法“A”初始化并发字典,而不是更新它。
【问题讨论】:
-
附带说明,I found these benchmarks 比较了多线程环境中更新值的速度。大多数情况下,带有锁定功能的常规字典胜过 ConcurrentDictionary。
标签: c#