我有以下代码。
我该如何分别获取三个任务的结果并打印输出?
var tasks = new[]
{
Task.Factory.StartNew(() => GetSomething1()),
Task.Factory.StartNew(() => GetSomething2()),
Task.Factory.StartNew(() => GetSomething3())
};
var things = Task.WhenAll(tasks);
我该如何分别获取三个任务的结果并打印输出?
Get..
方法都是异步的(返回自己的Task
),你就不需要.StartNew
。如果它们都是同步的,并且它们的数量可能是可变的(基于其他集合),考虑使用Enumerable.AsParallel
(PLINQ)或Parallel.For[Each]
来并行化工作,而不是将它们包装为任务。 - Jeroen MostertResult
,那么调用WhenAll
是多余的。 - Neo