Threadsafety词典C#

Kod*_*oda 3 c# dictionary thread-safety

我的一位同事最近表示,如果您不介意转发陈旧数据,那么多个读写线程可以访问ac#字典.他的理由是,由于该程序将重新从字典中读取,过时的数据不会成为问题.

我告诉他,当你有一个编写器线程时,锁定一个集合总是必要的,因为集合的内部状态会被破坏.

我错了吗?

das*_*ght 8

你是对的,你的同事是错的:只有在没有作家的情况下才能从多个线程访问字典.

.NET 4.0添加的ConcurrentDictionary<K,T>类正如其名称所暗示的那样.