.NET Framework Parallel.ForEach
例子
本示例用于Parallel.ForEach通过使用多个线程来计算1到10000之间的数字之和。为了实现线程安全,Interlocked.Add用于对数字求和。
using System.Threading; int Foo() { int total = 0; var numbers = Enumerable.Range(1, 10000).ToList(); Parallel.ForEach(numbers, () => 0, //初始值, (num, state, localSum) => num + localSum, localSum => Interlocked.Add(ref total, localSum)); return total; //总计=50005000 }