.NET Framework Parallel.For


Esempio

Questo esempio utilizza Parallel.For calcolare la somma dei numeri tra 1 e 10000 utilizzando più thread. Per raggiungere la sicurezza del thread, Interlocked.Add viene utilizzato per sommare i numeri.

using System.Threading;

int Foo()
{
    int total = 0;
    Parallel.For(1, 10001, 
        () => 0, // initial value,
        (num, state, localSum) => num + localSum,
        localSum => Interlocked.Add(ref total, localSum));
    return total; // total = 50005000
}