我有以下对象:
Dictionary<string, List<SubmitSm>> smDic
这是一个全局变量。
将smDic中的项目读取到该线程的本地对象,然后从其他线程执行相同操作时从smDic中删除复制的项目有什么影响/含义?每个线程读取和删除项目只能读取具有特定字典键的项目(它是一对一的关系)
答案 0 :(得分:1)
我建议你在这种情况下使用System.Collections.Concurrent.ConcurrentDictionary
。它还实现了IDictionary
接口,并且可以以线程安全的方式用于执行添加和删除。见http://msdn.microsoft.com/en-us/library/dd287191.aspx
ToDictionary
针对所请求的并发字典的变体,不需要中间转换为KeyValuePair
,可以在此处找到:Extension method Gets "No overload for method" Error。