C#多线程读取不可修改的集合

Pri*_*Key 5 c# collections multithreading locking

我有一个字典,在静态构造函数中填充一次,从那以后保持不变.我希望多个线程能够从此集合中读取值.我需要锁定吗?

Joe*_*ari 14

根据Microsoft的文档,只要不修改集合,Dictionary类就可以同时支持多个读取器.因此,不需要锁.

  • 不知道为什么更多的人不检查文档.这是每个人都应该看的第一个地方.为什么问问世界什么时候你可以问那些编写代码的人?:) +1 (2认同)
  • @KierenJohnstone原因是因为人们普遍倾向于有效.除了最肤浅的信息之外,文档教会我不要看它们.我*首先使用*来查看这些类型的答案.因为他们通常不在那里,所以我不再看那里了.(我问谷歌;谷歌把我带到这里;我很高兴谷歌把我带到这里而不是文件!):) (2认同)