在C#中执行以下操作的惯用和最快的方法是什么?说我有一个具有三个值(它始终是三个值,以便预先分配3个任务是确定)类:并行计算多个值。等待所有线程完成
public class AggregateValues
{
public double A { get; set;}
public double B { get; set;}
public double C { get; set;}
}
public AggregateValues Compute()
{
//How do I parallize these?
AggregateValues av = new AggregateValues();
av.A = ComputeA();
av.B = ComputeB();
av.C = ComputeC();
//Wait for ComputeA, ComputeB, ComputeC to be done
return av;
}
public double ComputeA()
{
// Complicated code
}
public double ComputeB()
{
// Complicated code
}
public double ComputeC()
{
// Complicated code
}
如果你可以使用异步,WaitAll/WhenAll方法将是最干净的方法。 http://stackoverflow.com/questions/25009437/running-multiple-async-tasks-and-waiting-for-them-all-to-complete –