Biblioteca de tarefas paralelas (TPL)
A Biblioteca Paralela de Tarefas (TPL) é um conjunto de tipos e APIs públicos em System.Threading e namespaces do System.Threading.Tasks em. O objetivo da TPL é tornar os desenvolvedores mais produtivos ao simplificar o processo de adicionar paralelismo e concorrência em aplicativos. O TPL dimensiona dinamicamente o grau de simultaneidade para usar todos os processadores disponíveis com mais eficiência. Além disso, a TPL lida com o particionamento do trabalho, a programação de threads em ThreadPool, o suporte ao cancelamento, o gerenciamento de estados e outros detalhes de baixo nível. Ao usar a TPL, você pode maximizar o desempenho do seu código enquanto se concentra no trabalho para o qual seu programa foi criado para realizar.
No .NET Framework 4, o TPL é a forma preferida de escrever código paralelo e multithread. No entanto, nem todo código é adequado para paralelização. Por exemplo, se um loop executa somente uma pequena quantidade de trabalho em cada iteração, ou se ele não é executado para muitas iterações, a sobrecarga da paralelização pode fazer com que o código seja executado mais lentamente. Além disso, a paralelização, assim como qualquer código multithread, acrescenta complexidade à execução do seu programa. Embora a TPL simplifique cenários multithread, recomendamos que você tenha uma compreensão básica dos conceitos de threads, por exemplo, bloqueios, deadlocks e condições de corrida para que possa usar a TPL efetivamente.
Artigos relacionados
Título | Descrição |
---|---|
Paralelismo de dados | Descreve como criar for paralelo e loops foreach (For e For Each no Visual Basic). |
Programação assíncrona baseada em tarefa | Descreve como criar e executar tarefas implicitamente usando Parallel.Invoke ou explicitamente ao usar objetos Task diretamente. |
Fluxo de dados | Descreve como usar os componentes de fluxo de dados na Biblioteca de Fluxo de Dados TPL para lidar com várias operações. Essas operações devem se comunicar entre si e processar dados à medida que ficam disponíveis. |
Armadilhas em potencial em dados e paralelismo da tarefa | Descreve algumas armadilhas comuns e como evitá-las. |
LINQ paralelo (PLINQ) | Descreve como obter o paralelismo de dados com consultas LINQ. |
Programação paralela | Nó de nível superior para programação paralela .NET. |