我应该何时使用
Task task1 = Task.Factory.StartNew (() => {...})
.ContinueWith (ant => Console.Write ("2"));
VS
Task task1 = Task.Factory.StartNew (() => {... });
Task task2 = task1.ContinueWith (ant => Console.Write ("2"));
答案 0 :(得分: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"));
注意我已将task1
替换为task2
。启动任务将导致task1
先启动。