标签: c# dictionary locking .net-core
我正在使用.netcore和C#,我有一个共享的System.Collections.Generic.Dictionary<>并且可以被多个任务访问,但只有一个任务是写入和更新键值对,以及所有其他任务任务(不止一个)只能从字典中读取。在这种情况下,我是否需要使用锁来保护线程安全?
System.Collections.Generic.Dictionary<>
答案 0 :(得分:1)
是。写入过程中无法安全地读取Dictionary;内部数据存储未处于有效状态,因此可能会出现异常或无意义的结果。
Dictionary
答案 1 :(得分:1)
请改用ConcurrentDictionary。