C#Dictionary是否有可能返回一个完全错误的值。

时间:2015-10-21 08:32:36

标签: c#

我在多线程环境中有一个c#字典。我使用TryGetValue进行无锁读取,同时字典正在重新组织。 是否有可能获得与此密钥无关的完全不同的值?我的意思不仅仅是一个不是最新的值,而是一个对应于不同密钥的完全错误的值。

1 个答案:

答案 0 :(得分:3)

简短回答:是的!

答案很长:默认情况下,字典不是线程安全的。如果您需要线程安全的,可以使用ConcurrentDictionary https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx

另请参阅有关线程安全集合https://msdn.microsoft.com/en-us/library/dd997305(v=vs.110).aspx

的Microsoft参考资料