Noções básicas de threading gerenciado

Os cinco primeiros artigos desta seção se destinam a ajudar você a determinar quando usar o threading gerenciado e explicar algumas funcionalidades básicas. Para obter informações sobre as classes que fornecem recursos adicionais, confira Recursos e objetos de threading e Visão geral dos primitivos de sincronização.

O demais artigos desta seção abordam tópicos avançados, incluindo a interação de threading gerenciado com o sistema operacional Windows.

Observação

Do .NET Framework 4 em diante, a biblioteca de paralelismo de tarefas e o PLINQ fornecem APIs para o paralelismo de tarefa e dados em programas multithreaded. Para obter mais informações, consulte Programação paralela.

Nesta seção

Threads e threading
São discutidas as vantagens e desvantagens de vários threads e são descritos os cenários em que você pode criar threads ou usar threads de pool.

Exceções em threads gerenciados
É descrito o comportamento de exceções sem tratamento em threads para diferentes versões do .NET, em particular as situações em que elas resultam no encerramento do aplicativo.

Sincronizando dados para multithreading
São descritas as estratégias para sincronizar dados em classes que serão usadas com vários threads.

Threads em primeiro plano e em segundo plano
São explicadas as diferenças entre os threads de primeiro plano e segundo plano.

Threading gerenciado e não gerenciado no Windows
É discutido o relacionamento entre o threading gerenciado e não gerenciado, são listados os equivalentes gerenciados para APIs de threading do Windows e é discutida a interação de apartments COM e threads gerenciados.

Armazenamento local de thread: Campos estáticos relativos a thread e slots de dados
São descritos os mecanismos de armazenamento relativos a threads.

Referência

Thread Fornece documentação de referência para a classe Thread, que representa um thread gerenciado, seja ele proveniente de código não gerenciado ou criado em um aplicativo gerenciado.

BackgroundWorker Fornece uma maneira segura de implementar multithreading em conjunto com objetos da interface do usuário.

Visão geral dos primitivos de sincronização
São descritas as classes gerenciadas usadas para sincronizar as atividades de vários threads.

Práticas recomendadas de threading gerenciado
São descritos problemas comuns com o multithreading e estratégias para evitar problemas.

Programação paralela
É descrita a biblioteca de paralelismo de tarefas e o PLINQ, que simplifica muito o trabalho de criação de aplicativos do .NET multithreaded e assíncronos.

Biblioteca System.Threading.Channels
Descreve a biblioteca System.Threading.Channels, que fornece um conjunto de estruturas de dados de sincronização para passar dados entre produtores e consumidores de forma assíncrona.