gpt4 book ai didi

.net - BlockingCollection<> 中的元素顺序

转载 作者:行者123 更新时间:2023-12-04 00:06:10 25 4
gpt4 key购买 nike

我有一个使用 BlockingCollection<> 实现的下载队列.现在我想偶尔优先考虑一些下载。我认为将某些元素“向上”移动到集合中可能会很棒,例如在列表中,但没有像 Remove()/AddFirst() 或 Move() 这样的方法。

BlockingCollection<> 中安排项目的首选方式是什么? ?

最佳答案

BlockingCollection<T>通过包装内部 IProducerConsumerCollection<T> 起作用.默认是使用 ConcurrentQueue<T>在内部,但您可以通过 this constructor 提供您自己的实现.

如果您提供自己的线程安全集合,则可以使用您想要的任何集合类型。这将允许您根据需要对元素进行优先级排序。

虽然没有内置集合可以实现您想要的功能,但您可能可以包装一对 ConcurrentQueue<T>集合到一个实现 IProducerConsumerCollection<T> 的类中.这将允许您拥有“高优先级”和“低优先级”元素。

关于.net - BlockingCollection<> 中的元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7502615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com