首页 > 解决方案 > 具有恒定读取时间的并发收集

问题描述

ConcurrentDictionary提供恒定的阅读时间。我不需要键值对,只需要键..我搜索了读取时间ConcurrentBag,但没有找到它是如何实现的?

除了 ConcurrentDictionary 之外,是否有恒定的读取时间 ConcurrentCollection?

标签: c#

解决方案


ConcurrentBag可能不是您想要的:

表示一个线程安全的、无序的对象集合。

这意味着它允许重复(而字典不允许)

当订购无关紧要时,包对于存储物品很有用,而且与集合不同,包支持重复。

至于性能,它肯定不如列表的性能好(至少如此O(n))(C# - ConcurrentBag 与 List 的性能比较

ConcurrentSet这里查看自定义实现的运气:如何在 .Net 中实现 ConcurrentHashSet

您还可以查看并发集合列表,看看是否有其他适合您的需求。


推荐阅读