Parallel

  • System.Threading.Tasks.Parallel

Parallel.For

Parallel.ForEach

Parallel.Invoke

ParallelQuery

  • System.Linq.ParallelQuery<T>
  • IEnumerable<T>.AsParallel() 可以很容易得到 ParallelQuery<T>,这也是 Linq 中提供的扩展方法。那么从熟悉的开始,改用 ParallelQuery<T> 来算算阶乘之和
  1. int SumFactorial(params int[] data)
  2. {
  3. return data.AsParallel().Select(CalcFactorial).Sum();
  4. }

并行 Linq

  1. int SumFactorial(params int[] data)
  2. {
  3. return (from n in data.AsParallel()
  4. select CalcFactorial(n)).Sum();
  5. }