System.Threading Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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. |