Biblioteca paralela de tarefas (TPL)
A TPL (Task Parallel Library) é um conjunto de tipos públicos e APIs nos System.Threading namespaces e System.Threading.Tasks . O objetivo do TPL é tornar os desenvolvedores mais produtivos, simplificando o processo de adicionar paralelismo e simultaneidade aos aplicativos. O TPL dimensiona dinamicamente o grau de simultaneidade para usar todos os processadores disponíveis de forma mais eficiente. Além disso, o TPL lida com o particionamento do trabalho, o agendamento de threads no ThreadPool, suporte de cancelamento, gerenciamento de estado e outros detalhes de baixo nível. Usando TPL, você pode maximizar o desempenho do seu código enquanto se concentra no trabalho que seu programa foi projetado para realizar.
No .NET Framework 4, o TPL é a maneira preferida de escrever código multithreaded e paralelo. No entanto, nem todo o código é adequado para paralelização. Por exemplo, se um loop executa apenas uma pequena quantidade de trabalho em cada iteração, ou não é executado para muitas iterações, a sobrecarga de paralelização pode fazer com que o código seja executado mais lentamente. Além disso, a paralelização, como qualquer código multithreaded, adiciona complexidade à execução do seu programa. Embora o TPL simplifique cenários multithreaded, recomendamos que você tenha uma compreensão básica dos conceitos de threading, por exemplo, bloqueios, deadlocks e condições de corrida, para que você possa usar o TPL de forma eficaz.
Artigos relacionados
Title | Description |
---|---|
Paralelismo de dados | Descreve como criar paralelos for e foreach loops (For e For Each no Visual Basic). |
Programação assíncrona baseada em tarefas | Descreve como criar e executar tarefas implicitamente usando Parallel.Invoke ou explicitamente usando Task objetos diretamente. |
Fluxo de dados | Descreve como usar os componentes de fluxo de dados na biblioteca de fluxo de dados TPL para manipular várias operações. Estas operações devem comunicar entre si e processar os dados à medida que estes se tornam disponíveis. |
Armadilhas potenciais no paralelismo de dados e tarefas | Descreve algumas armadilhas comuns e como evitá-las. |
LINQ paralelo (PLINQ) | Descreve como obter paralelismo de dados com consultas LINQ. |
Programação paralela | Nó de nível superior para programação paralela .NET. |