我有一个静态的只读字典。 不会修改这本词典。
我有多个线程使用 .ContainsKey(Key) 从这本字典中读取数据。例如
class MyData
{
private static private IDictionary<int, string> _dictionary = new Dictionary<int, string>();
MyData()
{
// Load Dictionary here
}
public string GetValue(int key)
{
if (_dictionary.ContainsKey(key))
{
return _dictionary[key];
}
}
}
这样做有任何线程问题吗?
最佳答案
如果没有人改变它:这很好。如果有偶尔的编辑,那么或许可以查看 ReaderWriterLockSlim,或者(我的偏好)编辑快照/副本并交换引用。
关于c# - 只读字典 - 多线程调用 .ContainsKey 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287075/