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
)。即使您使用 Task
将 BoundedCapacity
设置为 post 也是错误的方法,您可能应该使用另一个块来缓冲消息
我是 TPL 库的新手,有一个简单的问题我没有找到答案。
像这样调用 TPL 块有什么区别(如果有的话):
foreach (var t in paramsLisr)
{
someBlock.Post(t);
}
对
foreach (var t in paramsLisr)
{
Task.run(()={someBlock.Post(t)});
}
你的第二个例子完全是多余的,几乎是错误的。开始任务到 post 到动作块是没有意义的。
ActionBlock
等,使用内部缓冲区并将无缝地使用消息(除非您设置了 BoundedCapacity
)。即使您使用 Task
将 BoundedCapacity
设置为 post 也是错误的方法,您可能应该使用另一个块来缓冲消息