在WPF中优化并行操作:BlockingCollection,ConsurrentBag和List
>
>使用
比较为在并行处理上下文中的替代方案。Parallel.ForEach
。
List<T>
ConcurrentBag
阻止票房:受控并发BlockingCollection
ConcurrentBag
List<T>
,包括。 它的主要优点是:
BlockingCollection
>阻止删除:IProducerConsumerCollection<T>
试图删除项目的线程将阻止直到数据可用。
ConcurrentBag<T>
>
选择适当的集合
在类似原始问题的方案中, > ConcurrentBag<T>
BlockingCollection
都增加了不必要的复杂性。
使用
>当:BlockingCollection
您需要线程安全访问而无需阻止或大小限制。 这通常是简单并行任务的最佳选择。ConcurrentBag<T>
>
ConcurrentBag<T>
您需要阻止行为(例如,消费者等待生产者)或需要控制集合的大小以管理内存使用。以上是BlockingCollection、ConcurrentBag 与 List:哪种集合最适合 WPF 中的并行操作?的详细内容。更多信息请关注PHP中文网其他相关文章!