我有以下对象:
Dictionary<string, List<SubmitSm>> smDic
这是一个全局变量。
将 smDic 中的项目读取到该线程的本地对象中然后在其他线程执行相同操作时从 smDic 中删除复制的项目的影响/含义是什么?每个线程读取和删除项目只能读取具有特定字典键的项目(这是一对一的关系)
我有以下对象:
Dictionary<string, List<SubmitSm>> smDic
这是一个全局变量。
将 smDic 中的项目读取到该线程的本地对象中然后在其他线程执行相同操作时从 smDic 中删除复制的项目的影响/含义是什么?每个线程读取和删除项目只能读取具有特定字典键的项目(这是一对一的关系)
我建议你System.Collections.Concurrent.ConcurrentDictionary
在这种情况下使用 a 。它还实现了IDictionary
接口并且可以以线程安全的方式用于执行添加和删除。请参阅http://msdn.microsoft.com/en-us/library/dd287191.aspx
可以在此处找到用于并发字典的变体,ToDictionary
不需要中间转换为 aKeyValuePair
可以在这里找到:扩展方法获取“方法没有重载”错误。