Compartilhar via


System.Threading Namespace

Fornece interfaces e classes do que permitem programação multithread. Além das classes para sincronizar as atividades de thread e acesso a dados (como Mutex, Monitor, Interlocked e AutoResetEvent e assim por diante), este namespace inclui uma classe ThreadPool que permite que você use um pool de threads fornecido pelo sistema e uma classe Timer que executa os métodos de retorno de chamada em threads do pool.

Classes

AbandonedMutexException

A exceção gerada quando um thread adquire um objeto Mutex que outro thread abandonou ao ser fechado sem liberá-lo.

AsyncLocal<T>

Representa dados de ambiente que são locais para um determinado fluxo de controle assíncrono, como um método assíncrono.

AutoResetEvent

Representa um evento de sincronização de thread que, quando sinalizado, libera um único thread em espera e, em seguida, redefine automaticamente. Essa classe não pode ser herdada.

Barrier

Permite que várias tarefas trabalhem de forma colaborativa em um algoritmo em paralelo por meio de várias fases.

BarrierPostPhaseException

A exceção que é lançada quando a ação pós-fase de um Barrier falha.

CancellationTokenSource

Sinaliza para um CancellationToken que ele deve ser cancelado.

CompressedStack

Fornece métodos para configurar e capturar a pilha compactada no thread atual. Essa classe não pode ser herdada.

CountdownEvent

Representa um primitivo de sincronização que é sinalizado quando sua contagem atinge zero.

EventWaitHandle

Representa um evento de sincronização de thread.

EventWaitHandleAcl

Fornece um método de extensão específico do Windows para criar objetos EventWaitHandle com segurança específica de ACL (lista de controle de acesso).

ExecutionContext

Gerencia o contexto de execução do thread atual. Essa classe não pode ser herdada.

HostExecutionContext

Encapsula e propaga o contexto de execução do host em threads.

HostExecutionContextManager

Fornece a funcionalidade que permite que um host Common Language Runtime participe do fluxo ou migração do contexto de execução.

Interlocked

Fornece operações atômicas para variáveis que são compartilhadas por vários threads.

LazyInitializer

Fornece rotinas de inicialização lentas.

Lock

Fornece um mecanismo para alcançar a exclusão mútua em regiões de código entre threads diferentes.

LockRecursionException

A exceção que é lançada quando a entrada recursiva em um bloqueio não é compatível com a política de recursão para o bloqueio.

ManualResetEvent

Representa um evento de sincronização de thread que, quando sinalizado, deve ser redefinido manualmente. Essa classe não pode ser herdada.

ManualResetEventSlim

Representa um evento de sincronização de thread que, quando sinalizado, deve ser redefinido manualmente. Esta classe é uma alternativa leve para ManualResetEvent.

Monitor

Fornece um mecanismo que sincroniza o acesso a objetos.

Mutex

Um primitivo de sincronização que também pode ser usado para sincronização entre processos.

MutexAcl

Fornece um método de extensão específico do Windows para criar objetos Mutex com segurança específica de ACL (lista de controle de acesso).

Overlapped

Fornece uma representação gerenciada da estrutura OVERLAPPED do Win32, incluindo os métodos para transferir informações de uma instância de Overlapped para uma estrutura de NativeOverlapped.

PeriodicTimer

Fornece um temporizador periódico que habilita a espera de forma assíncrona para tiques de temporizador.

PreAllocatedOverlapped

Representa o estado pré-alocado para operações de E/S sobrepostas nativas.

ReaderWriterLock

Define um bloqueio que dá suporte a autores únicos e múltiplos leitores.

ReaderWriterLockSlim

Representa um bloqueio que é usado para gerenciar o acesso a um recurso, permitindo vários threads para leitura ou acesso exclusivo para gravação.

RegisteredWaitHandle

Representa um identificador que foi registrado ao chamar RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Essa classe não pode ser herdada.

Semaphore

Limita o número de threads que podem acessar um recurso ou um pool de recursos simultaneamente.

SemaphoreAcl

Fornece um método de extensão específico do Windows para criar objetos Semaphore com segurança específica de ACL (lista de controle de acesso).

SemaphoreFullException

A exceção que é lançada quando o método Release é chamado em um semáforo cuja contagem já está no máximo.

SemaphoreSlim

Representa uma alternativa leve para Semaphore que limita o número de threads que podem acessar um recurso ou um pool de recursos simultaneamente.

SynchronizationContext

Fornece a funcionalidade básica para propagação de um contexto de sincronização em vários modelos de sincronização.

SynchronizationLockException

A exceção que é lançada quando um método exige que o chamador possua o bloqueio em um determinado Monitor, e o método é invocado por um chamador que não possui o bloqueio.

Thread

Cria e controla um thread, define sua prioridade e obtém seu status.

ThreadAbortException

A exceção que é gerada quando uma chamada é feita para o método Abort(Object). Essa classe não pode ser herdada.

ThreadExceptionEventArgs

Fornece dados para o evento de ThreadException .

ThreadingAclExtensions

Fornece métodos de extensão específicos do Windows para gerenciar os descritores de segurança da ACL (lista de controle de acesso) para EventWaitHandle, Mutex e Semaphore.

ThreadInterruptedException

A exceção gerada quando um Thread é interrompido enquanto está em um estado de espera.

ThreadLocal<T>

Fornece armazenamento de dados local de thread.

ThreadPool

Fornece um pool de threads que podem ser usados para executar tarefas, postar os itens de trabalho, processar E/S assíncrona, aguardar em nome de outros threads e processar temporizadores.

ThreadPoolBoundHandle

Representa um identificador de E/S associado ao pool de threads do sistema e permite que componentes de baixo nível recebam notificações para operações de E/S assíncronas.

ThreadStartException

A exceção gerada quando uma falha ocorre em um thread gerenciado depois que o thread do sistema operacional subjacente tiver sido iniciado, mas antes que o thread esteja pronto para executar o código do usuário.

ThreadStateException

A exceção que é lançada quando um Thread está em um ThreadState inválido para a chamada de método.

Timeout

Contém constantes que especificam intervalos de tempo limite infinitos. Essa classe não pode ser herdada.

Timer

Fornece um mecanismo para executar um método em um thread do pool de threads em intervalos especificados. Essa classe não pode ser herdada.

Volatile

Contém métodos para executar operações de memória voláteis.

WaitHandle

Encapsula objetos específicos do sistema operacional que aguardam acesso exclusivo aos recursos compartilhados.

WaitHandleCannotBeOpenedException

A exceção que é gerada quando é feita uma tentativa de abrir um semáforo, um mutex do sistema ou um identificador de espera de evento que não existe.

WaitHandleExtensions

Fornece métodos de conveniência para trabalhar com um identificador seguro para um identificador de espera.

Estruturas

AsyncFlowControl

Fornece a funcionalidade para restaurar a migração ou o fluxo do contexto de execução entre threads.

AsyncLocalValueChangedArgs<T>

A classe que fornece informações de alteração de dados para instâncias AsyncLocal<T> que se registram para notificações de alteração.

CancellationToken

Propaga a notificação de que as operações devem ser canceladas.

CancellationTokenRegistration

Representa um delegado de retorno de chamada que foi registrado com um CancellationToken.

Lock.Scope

Representa um Lock que pode ter sido inserido.

LockCookie

Define o bloqueio que implementa a semântica de único gravador/vários leitores. Este é um tipo de valor.

NativeOverlapped

Fornece um layout explícito que é visível do código não gerenciado e que terá o mesmo layout que a estrutura OVERLAPPED Win32 com campos reservados adicionais no final.

SpinLock

Fornece um primitivo de bloqueio de exclusão mútua onde um thread que tenta adquirir o bloqueio aguarda em um loop, fazendo verificações repetidamente até que o bloqueio esteja disponível.

SpinWait

Fornece suporte à espera baseada em rotação.

Interfaces

IThreadPoolWorkItem

Representa um item de trabalho que pode ser executado pelo ThreadPool.

ITimer

Representa um temporizador que pode ter seu tempo e período devidos alterados.

Enumerações

ApartmentState

Especifica o estado de apartment de um Thread.

EventResetMode

Indica se um EventWaitHandle é redefinido de forma automática ou manual após receber um sinal.

LazyThreadSafetyMode

Especifica como uma instância Lazy<T> sincroniza o acesso entre vários threads.

LockRecursionPolicy

Especifica se um bloqueio pode ser inserido várias vezes pelo mesmo thread.

ThreadPriority

Especifica a prioridade de agendamento de um Thread.

ThreadState

Especifica os estados de execução de um Thread.

Delegados

ContextCallback

Representa um método a ser chamado dentro de um novo contexto.

IOCompletionCallback

Recebe o código de erro, o número de bytes e o tipo de valor sobreposto quando uma operação de E/S é concluída no pool de threads.

ParameterizedThreadStart

Representa o método que é executado em um Thread.

SendOrPostCallback

Representa um método a ser chamado quando uma mensagem deve ser distribuída em um contexto de sincronização.

ThreadExceptionEventHandler

Representa o método que manipulará o evento ThreadException de um Application.

ThreadStart

Representa o método que é executado em um Thread.

TimerCallback

Representa o método que manipula chamadas de um Timer.

WaitCallback

Representa um método de retorno de chamada a ser executado por um thread do pool de threads.

WaitOrTimerCallback

Representa um método a ser chamado quando um WaitHandle é sinalizado ou atinge o tempo limite.