将任务分组到任务[]。我们为什么需要它?

时间:2013-05-06 15:38:16

标签: c# .net task

有人可以解释

之间是否有任何区别
 Task[] taskArray = new Task[]
 {
    Task.Factory.StartNew(() => GetData1()),
    Task.Factory.StartNew(() => GetData2())
 };

只是

Task.Factory.StartNew(() => GetData1());
Task.Factory.StartNew(() => GetData2());

谢谢!

3 个答案:

答案 0 :(得分:5)

如果您想稍后使用对任务的引用,那么第一个示例非常有用,前提是

Task.WaitAll(taskArray);

答案 1 :(得分:4)

第一个将两个任务存储在一个集合中,可以在以后使用,等待它们,添加延续等。秒创建相同的任务,但不会将它们存储在任何地方,从而防止任何方法被用于那些任务。

答案 2 :(得分:3)

除非您想使用任务并行库的某些其他功能,否则不需要它。例如,许多其他taskfactory方法采用了一组任务,如Task.Factory.ContinueWhenAll