Looking for .net Keywords? Try Ask4Keywords

.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, // initial value,
        (num, state, localSum) => num + localSum,
        localSum => Interlocked.Add(ref total, localSum));
    return total; // total = 50005000
}