我想链Task
s,然后并行启动链。这个片段只是为了说明我的问题:
var taskOrig = new Task(() => { });
var task = taskOrig;
foreach (var msg in messages)
{
task=task.ContinueWith(t => Console.WriteLine(msg));
}
taskOrig.Start();
一切都很好,除了我内心的一个小完美主义者不喜欢先执行空方法() => { }
。
有什么办法可以避免吗?
我确实理解它几乎不会影响性能(除非你真的经常这样做),但仍然如此。就我而言,性能很重要,因此检查每次迭代中是否存在任务并不是解决问题的方法。