C# 字典有可能返回完全错误的值吗?

问题描述 投票:0回答:1

我在多线程环境中有一个 C# 字典。我使用

TryGetValue
进行无锁阅读,同时字典正在重新组织。

是否有可能得到一个与这个key无关的完全不同的值?我的意思不仅仅是一个不是最新的值,而是一个对应于不同密钥的完全错误的值。

c# multithreading dictionary
1个回答
3
投票

简短回答:是的!

长答案:字典默认情况下不是线程安全的。如果您需要线程安全的,可以使用

ConcurrentDictionary
https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx

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

© www.soinside.com 2019 - 2024. All rights reserved.