System.Threading Namespace

O namespace System.Threading fornece interfaces e classes do que permitem programação multithread. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. 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. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

Classes

AbandonedMutexException

A exceção gerada quando um thread adquire um objeto Mutex que outro thread abandonou ao ser fechado sem liberá-lo.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

Representa dados de ambiente que são locais para um determinado fluxo de controle assíncrono, como um método assíncrono.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

Representa um evento de sincronização de thread que, quando sinalizado, é redefinido automaticamente após a liberação de um thread em espera único.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. Essa classe não pode ser herdada.This class cannot be inherited.

Barrier

Permite que várias tarefas trabalhem de forma colaborativa em um algoritmo em paralelo por meio de várias fases.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

A exceção que é lançada quando a ação pós-fase de um Barrier falha.The exception that is thrown when the post-phase action of a Barrier fails.

CancellationTokenSource

Sinaliza para um CancellationToken que ele deve ser cancelado.Signals to a CancellationToken that it should be canceled.

CompressedStack

Fornece métodos para configurar e capturar a pilha compactada no thread atual.Provides methods for setting and capturing the compressed stack on the current thread. Essa classe não pode ser herdada.This class cannot be inherited.

CountdownEvent

Representa um primitivo de sincronização que é sinalizado quando sua contagem atinge zero.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

Representa um evento de sincronização de thread.Represents a thread synchronization event.

ExecutionContext

Gerencia o contexto de execução do thread atual.Manages the execution context for the current thread. Essa classe não pode ser herdada.This class cannot be inherited.

HostExecutionContext

Encapsula e propaga o contexto de execução do host em threads.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

Fornece a funcionalidade que permite que um host Common Language Runtime participe do fluxo ou migração do contexto de execução.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

Fornece operações atômicas para variáveis que são compartilhadas por vários threads.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

Fornece rotinas de inicialização lentas.Provides lazy initialization routines.

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.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

Representa um evento de sincronização de thread que, quando sinalizado, deve ser redefinido manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. Essa classe não pode ser herdada.This class cannot be inherited.

ManualResetEventSlim

Representa um evento de sincronização de thread que, quando sinalizado, deve ser redefinido manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. Esta classe é uma alternativa leve para ManualResetEvent.This class is a lightweight alternative to ManualResetEvent.

Monitor

Fornece um mecanismo que sincroniza o acesso a objetos.Provides a mechanism that synchronizes access to objects.

Mutex

Um primitivo de sincronização que também pode ser usado para sincronização entre processos.A synchronization primitive that can also be used for interprocess synchronization.

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.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

Representa o estado pré-alocado para operações de E/S sobrepostas nativas.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

Define um bloqueio que dá suporte a autores únicos e múltiplos leitores.Defines a lock that supports single writers and multiple readers.

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.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

Representa um identificador que foi registrado ao chamar RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean).Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Essa classe não pode ser herdada.This class cannot be inherited.

Semaphore

Limita o número de threads que podem acessar um recurso ou um pool de recursos simultaneamente.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

A exceção que é lançada quando o método Release é chamado em um semáforo cuja contagem já está no máximo.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

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.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

Fornece a funcionalidade básica para propagação de um contexto de sincronização em vários modelos de sincronização.Provides the basic functionality for propagating a synchronization context in various synchronization models.

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.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

Cria e controla um thread, define sua prioridade e obtém seu status.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

A exceção gerada quando é feita uma chamada para o método Abort(Object).The exception that is thrown when a call is made to the Abort(Object) method. Essa classe não pode ser herdada.This class cannot be inherited.

ThreadExceptionEventArgs

Fornece dados para o evento de ThreadException .Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

A exceção gerada quando um Thread é interrompido enquanto está em um estado de espera.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

Fornece o armazenamento de dados local de thread.Provides thread-local storage of data.

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.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

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.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

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.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

A exceção que é lançada quando um Thread está em um ThreadState inválido para a chamada de método.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

Contém constantes que especificam intervalos de tempo limite infinitos.Contains constants that specify infinite time-out intervals. Essa classe não pode ser herdada.This class cannot be inherited.

Timer

Fornece um mecanismo para executar um método em um thread do pool de threads em intervalos especificados.Provides a mechanism for executing a method on a thread pool thread at specified intervals. Essa classe não pode ser herdada.This class cannot be inherited.

Volatile

Contém métodos para executar operações de memória voláteis.Contains methods for performing volatile memory operations.

WaitHandle

Encapsula objetos específicos do sistema operacional que aguardam acesso exclusivo aos recursos compartilhados.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

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.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

Fornece métodos de conveniência para trabalhar com um identificador seguro para um identificador de espera.Provides convenience methods to for working with a safe handle for a wait handle.

Estruturas

AsyncFlowControl

Fornece a funcionalidade para restaurar a migração ou o fluxo do contexto de execução entre threads.Provides the functionality to restore the migration, or flow, of the execution context between 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.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

Propaga a notificação de que as operações devem ser canceladas.Propagates notification that operations should be canceled.

CancellationTokenRegistration

Representa um delegado de retorno de chamada que foi registrado com um CancellationToken.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

Define o bloqueio que implementa a semântica de único gravador/vários leitores.Defines the lock that implements single-writer/multiple-reader semantics. Este é um tipo de valor.This is a value type.

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.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

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.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

Fornece suporte à espera baseada em rotação.Provides support for spin-based waiting.

Interfaces

IThreadPoolWorkItem

Representa um item de trabalho que pode ser executado pelo ThreadPool.Represents a work item that can be executed by the ThreadPool.

Enumerações

ApartmentState

Especifica o estado de apartment de um Thread.Specifies the apartment state of a Thread.

EventResetMode

Indica se um EventWaitHandle é redefinido de forma automática ou manual após receber um sinal.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Especifica como uma instância Lazy<T> sincroniza o acesso entre vários threads.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

Especifica se um bloqueio pode ser inserido várias vezes pelo mesmo thread.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Especifica a prioridade de agendamento de um Thread.Specifies the scheduling priority of a Thread.

ThreadState

Especifica os estados de execução de um Thread.Specifies the execution states of a Thread.

Delegados

ContextCallback

Representa um método a ser chamado dentro de um novo contexto.Represents a method to be called within a new context.

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.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Representa o método que é executado em um Thread.Represents the method that executes on a Thread.

SendOrPostCallback

Representa um método a ser chamado quando uma mensagem deve ser distribuída em um contexto de sincronização.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

Representa o método que manipulará o evento ThreadException de um Application.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Representa o método que é executado em um Thread.Represents the method that executes on a Thread.

TimerCallback

Representa o método que manipula chamadas de um Timer.Represents the method that handles calls from a Timer.

WaitCallback

Representa um método de retorno de chamada a ser executado por um thread do pool de threads.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

Representa um método a ser chamado quando um WaitHandle é sinalizado ou atinge o tempo limite.Represents a method to be called when a WaitHandle is signaled or times out.