c#字典有可能返回一个完全错误的值吗?
本文关键字:错误 一个 有可能 字典 返回 | 更新日期: 2023-09-27 18:18:41
我有一个多线程环境中的c#字典。我使用TryGetValue进行无锁读取,同时字典正在重新组织。是否有可能得到一个与这个键无关的完全不同的值?我指的不仅仅是一个不是最新的值,而是一个与不同键对应的完全错误的值。
简短的回答:是的!
长话短说:字典默认不是线程安全的。如果您需要一个线程安全的,您可以使用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