Programação paralela no .NET: um guia para a documentação

Muitos computadores pessoais e estações de trabalho têm vários núcleos de CPU, o que permite a execução simultânea de vários threads. Para tirar proveito do hardware, é possível paralelizar seu código para distribuir o trabalho entre vários processadores.

No passado, a paralelização exigia a manipulação em baixo nível de threads e de bloqueios. O Visual Studio e o .NET aprimoram o suporte à programação paralela ao fornecer um runtime, tipos de biblioteca de classes e ferramentas de diagnóstico. Esses recursos, que foram introduzidos no .NET Framework 4, simplificam o desenvolvimento paralelo. É possível escrever código paralelo eficiente, refinado e dimensionável em uma linguagem natural sem precisar trabalhar diretamente com threads ou o pool de threads.

A ilustração a seguir oferece uma visão geral de alto nível da arquitetura de programação em paralelo do .NET.

Arquitetura de programação paralela .NET

Tecnologia Descrição
Biblioteca de tarefas paralelas (TPL) Fornece documentação para a classe System.Threading.Tasks.Parallel, a qual inclui versões paralelas de For e loops ForEach, e também para a classe System.Threading.Tasks.Task, a qual representa a forma preferencial de expressar operações assíncronas.
LINQ paralelo (PLINQ) Uma implementação paralela do LINQ em Objects que melhora significativamente o desempenho em muitos cenários.
Estruturas de dados para programação paralela Fornece links para a documentação de classes de coleta com threads seguros, tipos de sincronização leves e tipos para inicialização lenta.
Ferramentas de diagnóstico paralelo Fornece links para a documentação de janelas do depurador para tarefas e pilhas paralelas, e para a Visualização Simultânea do Visual Studio.
Particionadores personalizados para PLINQ e TPL Descreve como os particionadores funcionam e como configurar os particionadores padrão ou criar um novo particionador.
Agendadores de tarefas Descreve como os agendadores funcionam e como os agendadores padrão podem ser configurados.
Expressões lambda em PLINQ e TPL Fornece uma visão geral das expressões lambda em C# e Visual Basic e mostra como elas são usadas em PLINQ e na Biblioteca Paralela de Tarefas.
Para leitura adicional Fornece links para informações adicionais e recursos de exemplo para a programação paralela no .NET.

Confira também