Post TPL 动作块的项目有 Task.run 和没有

Post an item to TPL action block with Task.run and without

我是 TPL 库的新手,有一个简单的问题我没有找到答案。

像这样调用 TPL 块有什么区别(如果有的话):

foreach (var t in paramsLisr)
{
  someBlock.Post(t);
}

foreach (var t in paramsLisr)
{
 Task.run(()={someBlock.Post(t)});                        
}

你的第二个例子完全是多余的,几乎是错误的。开始任务到 post 到动作块是没有意义的。

ActionBlock 等,使用内部缓冲区并将无缝地使用消息(除非您设置了 BoundedCapacity)。即使您使用 TaskBoundedCapacity 设置为 post 也是错误的方法,您可能应该使用另一个块来缓冲消息