【问题标题】:Prioritized TPL DataFlow BufferBlock优先的 TPL DataFlow BufferBlock
【发布时间】:2011-05-17 14:04:54
【问题描述】:

这应该是很自然的事情,我想知道是否有来自 TPL DataFlow 库的 Prioritized BufferBlock 的现成实现?

【问题讨论】:

  • 您希望它对BoundedCapacity 的表现如何?还是您不需要的功能?
  • @svick 我希望如果达到BoundedCapacity,那么它会将项目放在列表的末尾。不完全是最优的,但它是一种方法。另一种方法是始终将BoundedCapacity 设置为DataflowBlockOptionsUnbounded
  • 我会谨慎对待这样的块。所有现有的数据流块都保证保留消息顺序。这将违反明显的保证。
  • 我所见之处,似乎没有人意识到对优先级队列的有效需求。我无法理解方式。在低级 IO 操作(甚至在高级 IO 操作)中,优先排队是非常重要的。 @husayt,你有没有解决你的问题的运气?

标签: task-parallel-library priority-queue tpl-dataflow


【解决方案1】:

似乎实现这一点的最佳方法是使用专门的任务计划程序,而不是实现自己的 BufferBlock。有很多种他们可以在网上找到。例如,在ParallelExtensions Library 中检查QueuedTaskScheduler

【讨论】:

    猜你喜欢
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多