Parallel
- System.Threading.Tasks.Parallel
Parallel.For
Parallel.ForEach
Parallel.Invoke
ParallelQuery
System.Linq.ParallelQuery<T>
IEnumerable<T>.AsParallel()
可以很容易得到ParallelQuery<T>
,这也是 Linq 中提供的扩展方法。那么从熟悉的开始,改用ParallelQuery<T>
来算算阶乘之和
int SumFactorial(params int[] data)
{
return data.AsParallel().Select(CalcFactorial).Sum();
}
并行 Linq
int SumFactorial(params int[] data)
{
return (from n in data.AsParallel()
select CalcFactorial(n)).Sum();
}