【发布时间】:2017-08-15 15:30:39
【问题描述】:
我正在使用带有 C# 的 .netcore,我有一个 System.Collections.Generic.Dictionary<>,它由多个任务共享和访问,但只有一个任务正在写入和更新键值对,以及所有其他任务(不止一个)只是从字典中阅读。在这种情况下,我是否需要使用锁来保护它,就线程安全而言?
【问题讨论】:
标签: c# dictionary locking .net-core
我正在使用带有 C# 的 .netcore,我有一个 System.Collections.Generic.Dictionary<>,它由多个任务共享和访问,但只有一个任务正在写入和更新键值对,以及所有其他任务(不止一个)只是从字典中阅读。在这种情况下,我是否需要使用锁来保护它,就线程安全而言?
【问题讨论】:
标签: c# dictionary locking .net-core
是的。 Dictionary 在写入过程中无法安全读取;内部数据存储未处于有效状态,因此可能会出现异常或无意义的结果。
【讨论】:
【讨论】: