【发布时间】:2022-01-23 18:17:51
【问题描述】:
我总是对选择其中一个感到困惑。正如我所看到的,如果我想要两种数据类型作为Key 和Value,我会使用Dictionary 而不是List,所以我可以通过key 轻松找到一个值,但如果我应该使用ConcurrentDictionary 或 Dictionary?
在你指责我没有对此进行太多研究之前,我已经尝试过了,但似乎谷歌在 Dictionary 与 ConcurrentDictionary 上并没有真正得到任何东西,但每个人都有一些东西。
我之前问过一个朋友,但他们只说:“如果你在代码中经常使用字典,请使用ConcurrentDictionary”,我真的不想纠缠他们更详细地解释它。任何人都可以对此进行扩展吗?
【问题讨论】:
-
那么,在逐个查看了每个对象的信息之后,如何无法回答您何时应该使用每个对象的问题?如果你知道什么时候应该使用
Dictionary,什么时候应该使用ConcurrentDictionary,假设你说你已经找到了这些信息,那么你知道什么时候应该使用另一个。 -
这个名字可以自我解释。当您需要对字典进行并发访问时,您可以使用
ConcurrentDictionary。 -
如果您要从多个线程访问字典,请使用 ConcurrentDictionary。这就是整个
System.Collections.Concurrent命名空间的用途 -
要搜索的是“线程安全”。
-
@Servy 所以你是说如果他们知道你已经知道的,他们就不必问这个问题。然而他们还不知道这一点,所以在问。 (阅读两个定义并不总能帮助您了解区别)
标签: c# dictionary concurrentdictionary