我的词典仅支持add
和modify
操作,可以同时操作,但始终用于不同的键。键是int,值是引用类型。修改意味着更改值的某些属性。
我的问题是:
谢谢!
答案 0 :(得分:0)
最好的方法是查看MSDN文档。
对于ConcurrentDictionary
,该网页为http://msdn.microsoft.com/en-us/library/dd287191.aspx
在线程安全部分,它被声明为&#34; ConcurrentDictionary<TKey, TValue>
的所有公共成员和受保护成员都是线程安全的,可以从多个线程同时使用。&#34;
答案 1 :(得分:0)
在这种情况下我是否需要使用ConcurrentDictionary?如果需要,如何 它有帮助吗?
是的,如果多个线程同时添加或删除条目,则标准字典将无法正常运行。 (虽然如果没有其他人正在修改它,多个线程同时从中读取它是安全的。)
如果对同一个密钥进行并发修改,则会 ConcurrentDictionary有助于确保线程安全吗?我的理解是 不,这是对的吗?
如果你要问&#34;并发字典是否会阻止多个线程同时访问字典中的值?&#34;,那么不,它不会。
如果要防止多个线程同时访问同一个值,则需要使用某种并发控制,例如锁定。