TPL Dataflow块内部和之间的并行性?

时间:2017-08-23 05:00:14

标签: c# tpl-dataflow

我对TPL Dataflow块内部和之间的并行性存在一些问题。

  1. 在块内:我有一个TransformBlock,让我们说MaxDOP为4,执行我已经知道的东西,如果 它尽可能并行,但调度程序不知道。因此,当我给它200个项目,而不是大致在4个线程上做50个项目时,它通常像1个线程上的150个项目,2个线程上的20个项目,然后它不会打扰使用第四个线程。有没有提示它更平行?

  2. 跨越街区:我有几个街区A - > B - > C是一个管道。我想象它会像早期物品在C处完成处理一样工作,而后期物品仍然在A处理。但是,比方说,当我像10k物品一样给它时,它为A执行所有10k物品,然后在B处执行所有10k物品,然后所有10k在C处。这意味着第一个项目仅在最后一个项目结束时退出管道。我想任务调度程序所有任务都是相同的,但对我来说,我希望“第一响应时间”而不是“最后响应时间”。我如何暗示该块表现不同?

  3. 感谢。

0 个答案:

没有答案