System.Threading Espaço de Nomes

Fornece classes e interfaces que permitem programação multithread. Para além das classes para sincronizar atividades de threads e acesso a dados (, , , AutoResetEvent, e assim sucessivamente), este namespace inclui uma ThreadPool classe que permite usar um pool de threads fornecidos pelo sistema, e uma Timer classe que executa métodos de callback em threads Interlockedpool. MonitorMutex

Classes

Name Description
AbandonedMutexException

A exceção que é lançada quando um thread adquire um Mutex objeto que outro thread abandonou ao sair sem o libertar.

AsyncLocal<T>

Representa dados ambientes que são locais para um dado fluxo de controlo assíncrono, como um método assíncrono.

AutoResetEvent

Representa um evento de sincronização de threads que, quando sinalizado, liberta uma única thread em espera e depois reinicia automaticamente. Esta classe não pode ser herdada.

Barrier

Permite que múltiplas tarefas trabalhem cooperativamente num algoritmo em paralelo ao longo de várias fases.

BarrierPostPhaseException

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

CancellationTokenSource

Sinaliza CancellationToken que deve ser cancelado.

CompressedStack

Fornece métodos para definir e capturar a pilha comprimida no thread atual. Esta classe não pode ser herdada.

CountdownEvent

Representa uma primitiva de sincronização que é sinalizada quando a sua contagem atinge zero.

EventWaitHandle

Representa um evento de sincronização de threads.

ExecutionContext

Gere o contexto de execução do thread atual. Esta classe não pode ser herdada.

HostExecutionContext

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

HostExecutionContextManager

Fornece a funcionalidade que permite a um host de runtime de linguagem comum participar no fluxo, ou migração, do contexto de execução.

Interlocked

Fornece operações atómicas para variáveis que são partilhadas por múltiplos threads.

LazyInitializer

Fornece rotinas de inicialização preguiçosas.

LockRecursionException

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

ManualResetEvent

Representa um evento de sincronização de threads que, quando sinalizado, deve ser reiniciado manualmente. Esta classe não pode ser herdada.

ManualResetEventSlim

Representa um evento de sincronização de threads que, quando sinalizado, deve ser reiniciado manualmente. Esta classe é uma alternativa leve a ManualResetEvent.

Monitor

Fornece um mecanismo que sincroniza o acesso a objetos.

Mutex

Uma primitiva de sincronização que também pode ser usada para sincronização entre processos.

Overlapped

Fornece uma representação gerida de uma estrutura Win32 OVERLAPPED , incluindo métodos para transferir informação de uma Overlapped instância para uma NativeOverlapped estrutura.

PreAllocatedOverlapped

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

ReaderWriterLock

Define um bloqueio que suporta escritores individuais e múltiplos leitores.

ReaderWriterLockSlim

Representa um bloqueio usado para gerir o acesso a um recurso, permitindo múltiplos threads para leitura ou acesso exclusivo para escrita.

RegisteredWaitHandle

Representa um handle que foi registado ao chamar RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Esta classe não pode ser herdada.

Semaphore

Limita o número de threads que podem aceder simultaneamente a um recurso ou conjunto de recursos.

SemaphoreFullException

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

SemaphoreSlim

Representa uma alternativa leve que Semaphore limita o número de threads que podem aceder a um recurso ou conjunto de recursos em simultâneo.

SynchronizationContext

Fornece a funcionalidade básica para propagar 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 num dado Monitor, e o método é invocado por um chamador que não possui esse bloqueio.

Thread

Cria e controla uma thread, define a sua prioridade e obtém o seu estado.

ThreadAbortException

A exceção que é lançada quando é feita uma chamada ao Abort(Object) método. Esta classe não pode ser herdada.

ThreadExceptionEventArgs

Fornece dados para o ThreadException evento.

ThreadInterruptedException

A exceção que é lançada quando a Thread é interrompido enquanto está em estado de espera.

ThreadLocal<T>

Fornece armazenamento local de dados em threads.

ThreadPool

Fornece um conjunto de threads que podem ser usados para executar tarefas, publicar itens de trabalho, processar I/O assíncronos, esperar em nome de outros threads e processar temporizadores.

ThreadPoolBoundHandle

Representa um handle de I/O que está ligado ao pool de threads do sistema e permite que componentes de baixo nível recebam notificações para operações de I/O assíncronas.

ThreadStartException

A exceção que é lançada quando ocorre uma falha numa thread gerida após a thread do sistema operativo subjacente ter sido iniciada, mas antes de a thread estar pronta para executar código de utilizador.

ThreadStateException

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

Timeout

Contém constantes que especificam intervalos infinitos de time-out. Esta classe não pode ser herdada.

Timer

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

Volatile

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

WaitHandle

Encapsula objetos específicos do sistema operativo que aguardam acesso exclusivo a recursos partilhados.

WaitHandleCannotBeOpenedException

A exceção que é lançada quando se tenta abrir um mutex, semáforo ou event wait handle do sistema que não existe.

WaitHandleExtensions

Oferece métodos práticos para trabalhar com uma alavanca segura para uma maçaneta de espera.

Estruturas

Name Description
AsyncFlowControl

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

AsyncLocalValueChangedArgs<T>

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

CancellationToken

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

CancellationTokenRegistration

Representa um delegado de callback que foi registado com um CancellationToken.

LockCookie

Define o bloqueio que implementa semântica de um único escritor/múltiplo leitor. Isto é um tipo de valor.

NativeOverlapped

Fornece um layout explícito que é visível a partir de código não gerido e que terá o mesmo layout da estrutura Win32 SOBREPOSTA, com campos reservados adicionais no final.

SpinLock

Fornece uma primitiva de bloqueio de exclusão mútua onde um thread que tenta adquirir o bloqueio espera num ciclo verificando repetidamente até que o bloqueio fique disponível.

SpinWait

Oferece suporte para espera baseada em rotação.

Enumerações

Name Description
ApartmentState

Especifica o estado do apartamento de um Thread.

EventResetMode

Indica se um EventWaitHandle é reiniciado automaticamente ou manualmente após receber um sinal.

LazyThreadSafetyMode

Especifica como uma Lazy<T> instância sincroniza o acesso entre múltiplos threads.

LockRecursionPolicy

Especifica se um bloqueio pode ser introduzido 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

Name Description
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 I/O é concluída no pool de threads.

ParameterizedThreadStart

Representa o método que executa sobre um Thread.

SendOrPostCallback

Representa um método a ser chamado quando uma mensagem vai ser enviada para um contexto de sincronização.

ThreadExceptionEventHandler

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

ThreadStart

Representa o método que executa sobre um Thread.

TimerCallback

Representa o método que lida com chamadas de um Timer.

WaitCallback

Representa um método de callback a ser executado por um thread pool de threads.

WaitOrTimerCallback

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