1

我应该什么时候使用

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

对比

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

1 回答 1

4

它的含义相同,只是您现在将参考第二个任务。如果第一个任务在执行所有任务之前需要一些处理,则可以使用第二个选项。一个例子是添加另一个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首先启动。

于 2013-03-10T12:19:10.713 回答