如何创建不重复的ConcurrentQueue?

jav*_*red 13 .net c# collections concurrency

我需要一个不允许重复的concurent集合(在BlockingCollection中用作Producer/Consumer).我不需要严格的元素顺序.从另一方面,我想最小化元素"活"在集合中的最大时间.即收集不能是LIFO,理想情况下它应该是FIFO.

好吧,我会说我需要ConcurrentQueue而不允许重复,但是没有重复的ConcurrentBag也可能有效.

为什么C#不包含这样的东西,可能有人已经创建了它?

这个问题是我之前的问题的结果是什么类型的IProducerConsumerCollection <T>用于我的任务?

Teo*_*gul 1

好吧,如果您严格希望没有重复项,则需要“集合”。例如,NHibernate 使用 Iesi.Collections 来提供此类功能。使用 Iesi,您可以围绕提供的“Set”类(DictionarySet、HashSet、SortedSet)构建您自己的功能。来源: http: //www.codeproject.com/KB/recipes/sets.aspx