Un metodo di estensione per ForEach parallelo

Scritto da  Simone Di Stasio il sabato 28 aprile 2012  •  Linguaggio: C#   • Livello: 100


La classe Parallel del namespace System.Threading.Tasks mette a disposizione un metodo statico che permette di eseguire un ciclo foreach le cui iterazioni sono eseguite in parallelo.
Il seguente metodo implementa un metodo di estensione dell'interfaccia IEnumerable per implementare un foreach parallelo sugli elementi della stessa:

public static class Extensions
{
    public static void ForEachParallel<T>(this IEnumerable<T> l, Action<T> body)
    {
        Parallel.ForEach(l, body);
    }
}

 


Tags: Linq

 
x