Avete mai visto un costrutto del genere?
Parallel.For(0, 100, delegate(int i)
{
a[i] = a[i]*a[i];
});
Ebbene è un classico esempio di utilizzo di TPL , un importante componente della libreria Parallel FX nata (dalla collaborazione tra Microsoft Research, il team CLR e il team Parallel Computing Platform) con lo scopo di supportare il parallelismo 'reale' implementabile con .NET su computer multicore.
E' da poco uscito questo articolo su MSDN (estratto dal numero di Ottobre di MSDN Magazine) che vi invito a leggere:
http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx?loc=it
In breve, vengono illustrati esempi su parallelismo strutturato, sovraesposizione del parallelismo, distribuzione dinamica del lavoro, aggregazione etc. utilizzando TPL.
Inoltre, vengono apportate interessanti considerazioni sulla grande semplificazione del lavoro per gli sviluppatori che oggi percorrono la strada dell' hard-coding sulla classe ThreadPool di .NET al fine di garantire la sincronizzazione nonché la divisione di Task su più processori.
Sarà questa una valida evoluzione del Framework .NET? ...Considerando poi che attualmente i computer multiprocessore stanno diventando lo standard, mentre la velocità dei singoli processori sta subendo in generale una diminuzione?
Tra qualche annetto lo scopriremo...
Technorati tags: TPL, Multicore