我是TPL库的新手,有一个简单的问题,我找不到答案。
像这样调用TPL块之间有什么区别(如果有的话):
foreach (var t in paramsLisr)
{
someBlock.Post(t);
}
vs
foreach (var t in paramsLisr)
{
Task.run(()={someBlock.Post(t)});
}
答案 0 :(得分:2)
您的第二个示例是完全多余的,并且有误。没有必要开始将任务发布到动作块。
ActionBlock
等,使用内部缓冲区,将无缝使用消息(除非您已设置BoundedCapacity
)。即使您使用BoundedCapacity
设置Task
来发布消息也是错误的方法,并且您可能应该使用另一个块来缓冲消息