Compartilhar via


Threading objetos e recursos

A.NET Framework fornece um número de objetos que ajudam a criar e gerenciar aplicativos multithread. Threads gerenciados são representados pela Thread classe. O ThreadPool classe fornece fácil criação e gerenciamento de tarefas do plano de fundo multithread. O BackgroundWorker classe faz o mesmo para as tarefas que interagem com a interface do usuário. O Timer classe executa tarefas de plano de fundo em intervalos regulares.

Além disso, existem várias classes que sincronizam as atividades de segmentos, incluindo o Semaphore e EventWaitHandle classes introduzido na.NET Framework versão 2.0. Os recursos dessas classes são comparados em Visão geral dos primitivos de sincronização.

Nesta seção

  • O Pool de segmentos gerenciado
    Explica o ThreadPool classe, que permite que você solicite um segmento para executar uma tarefa sem a necessidade de fazer qualquer gerenciamento de threads sozinho.

  • Temporizadores
    Explica como usar um Timer para especificar um representante a ser chamado em um horário especificado.

  • Monitores
    Explica como usar o Monitor para sincronizar o acesso a um membro ou criar seu próprio segmento de tipos de gerenciamento de classe.

  • Identificadores de Espera
    Descreve o WaitHandle a classe base abstrata para o evento de classe, aguarde alças, mutexes e semáforos, que permite esperar vários eventos de sincronização.

  • EventWaitHandle, AutoResetEvent, CountdownEvent e ManualResetEvent
    Descreve os identificadores de espera de eventos gerenciado, que são usados para sincronizar as atividades de thread, sinalização e aguardando sinais.

  • Exclusões mútuas
    Explica como usar um Mutexpara sincronizar o acesso a um objeto ou criar seus próprios mecanismos de sincronização.

  • Operações interligadas
    Explica como usar o Interlocked classe para incrementar ou decrementar um valor e armazenar o valor em uma única operação atômica.

  • Bloqueios de leitor-gravador.
    Define um bloqueio que implementa a semântica de único gravador/várias leitor.

  • Semáforo e SemaphoreSlim
    Descreve Semaphore objetos e explica como usá-los para controlar o acesso a recursos limitados.

  • Visão geral dos primitivos de sincronização
    Compara os recursos da.Classes do NET Framework fornecidas para o bloqueio e sincronização de threads gerenciados.

  • Barreira (.NET Framework)
    Descreve Barrier os objetos que implementam o padrão de barreira para a coordenação de threads em operações em fases.

  • SpinLock
    Descreve SpinLock, uma alternativa leve para a classe Monitor para determinados cenários de baixo nível.

  • Tokens de cancelamento
    Descreve CancellationToken, que é um objeto leve que pode ser usado para implementar o cancelamento cooperativo entre segmentos.

  • SpinWait
    Descreve SpinWait, um primitivo de sincronização de nível baixo que realiza girando ocupado antes de se iniciar uma espera baseado no kernel.

Referência

  • Thread
    Fornece documentação de referência para o segmento classe que representa um segmento gerenciado, seja ela veio de código não gerenciado ou foi criada em um aplicativo gerenciado.

  • BackgroundWorker
    Permite que tarefas em segundo plano que interagem com a interface do usuário, se comunicando via eventos disparados no thread da interface do usuário.

Seções relacionadas

  • E/S de Arquivo Assíncrono
    Descreve como portas de conclusão assíncrona de e/S usam o pool de segmentos para exigir processamento somente quando uma operação de entrada/saída seja concluída.

  • Biblioteca paralela de tarefas
    Descreve a abordagem recomendada para a programação multithread na .NET Framework versão 4 e posterior.