Task.ContinueWith()VS 2级的任务?(Task.ContinueWith() v

2019-09-25 18:09发布

什么时候应该使用

Task task1 = Task.Factory.StartNew (() => {...})
                 .ContinueWith (ant => Console.Write ("2"));

VS

Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));

Answer 1:

这意味着同样的,除了你必须在第二个任务现在参考。 如果第一个任务,执行任务的所有在一起之前需要一定的处理,您可以使用第二个选项。 一个例子是添加另一个var task3 = task1.ContinueWith()这样的任务二,三将同时执行,但只有当第一个任务完成处理。 其实这应该是:

Task task2 = Task.Factory.StartNew (() => {...}).ContinueWith (ant => Console.Write ("2"));

Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));

请注意我替换task1task2 。 无论是启动任务将导致task1首先启动。



文章来源: Task.ContinueWith() vs 2 Tasks?