by
Jenner Maciejewsky
7. outubro 2007 12:24
Como tirar proveito em suas aplicações de computadores com mais de um processador ? .NET ThreadPool? Não, essa não será a saída oferecida pela Microsoft.
O Microsoft Research e a equipe de CLR (Common Language Runtime) da Microsoft, vem trabalhando em um projeto que tornará fácil ao programador a execução de código em Paralelo.
A Ideia é permitir a desenvolvedores desenvolver código utilizando recursos de paralelismo, e quando a aplicação estiver rodando em uma máquina com múltiplos processadores ou múltiplos núcleos, será identificado automaticamente de forma paralela, em processadores com um único processador/núcleo a execução manteria normalmente, como em uma aplicação convencional.
O Projeto do Microsoft Research é o TPL (Task Parallel Library), uma biblioteca que oferecerá aos desenvolvedores .NET recursos para tornar as aplicações mais eficazes em multi-processadores.
Veja um exemplo:
Modelo atual.
for (int i = 0; i < 100; i++) {
a[i] = a[i]*a[i];
}
utilizando a Biblioteca ficaria assim:
Parallel.For(0, 100, delegate(int i) {
a[i] = a[i]*a[i];
});
Para conhecer mais a respeito :
Artigo - Desempenho paralelo
Jenner Maciejewsky Rocha
MVP Visual Basic