Thread Classe
Definição
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.
Cria e controla um thread, define sua prioridade e obtém seu status.
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
public ref class Thread sealed
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
type Thread = class
inherit CriticalFinalizerObject
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
interface _Thread
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
inherit CriticalFinalizerObject
interface _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Public NotInheritable Class Thread
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
- Herança
- Herança
-
Thread
- Atributos
- Implementações
Comentários
Para obter mais informações sobre essa API, consulte Comentários sobre a API Complementar para Thread.
Construtores
Thread(ParameterizedThreadStart) |
Inicializa uma nova instância da classe Thread, especificando um delegado que permite que um objeto seja passado para o thread quando o thread for iniciado. |
Thread(ParameterizedThreadStart, Int32) |
Inicializa uma nova instância da classe Thread, especificando um delegado que permite que um objeto seja passado para o thread quando o thread é iniciado e especificando o tamanho máximo da pilha para o thread. |
Thread(ThreadStart) |
Inicializa uma nova instância da classe Thread. |
Thread(ThreadStart, Int32) |
Inicializa uma nova instância da classe Thread, especificando o tamanho máximo da pilha do thread. |
Propriedades
ApartmentState |
Obsoleto.
Obsoleto.
Obtém ou define o estado de apartment desse thread. |
CurrentContext |
Obtém o contexto atual no qual o thread está em execução. |
CurrentCulture |
Obtém ou define a cultura do thread atual. |
CurrentPrincipal |
Obtém ou define a entidade de segurança atual do thread (para segurança baseada em função). |
CurrentThread |
Obtém o thread em execução no momento. |
CurrentUICulture |
Obtém ou define a cultura atual usada pelo Gerenciador de Recursos para procurar recursos específicos da cultura em tempo de execução. |
ExecutionContext |
Obtém um objeto ExecutionContext que contém informações sobre os diversos contextos do thread atual. |
IsAlive |
Obtém um valor que indica o status de execução do thread atual. |
IsBackground |
Obtém ou define um valor que indica se um thread é ou não um thread de segundo plano. |
IsThreadPoolThread |
Obtém um valor que indica se um thread pertence ao pool de threads gerenciados ou não. |
ManagedThreadId |
Obtém um identificador exclusivo para o thread gerenciado atual. |
Name |
Obtém ou define o nome do thread. |
Priority |
Obtém ou define um valor que indica a prioridade de agendamento de um thread. |
ThreadState |
Obtém um valor que contém os estados do thread atual. |
Métodos
Abort() |
Obsoleto.
Gera um ThreadAbortException no thread no qual ele é invocado, para iniciar o processo de encerramento do thread. Geralmente, a chamada a esse método termina o thread. |
Abort(Object) |
Obsoleto.
Gera um ThreadAbortException no thread no qual ele é invocado, para iniciar o processo de término do thread e ao mesmo tempo fornecer informações de exceção sobre o término do thread. Geralmente, a chamada a esse método termina o thread. |
AllocateDataSlot() |
Aloca um slot de dados sem nome em todos os threads. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
AllocateNamedDataSlot(String) |
Aloca um slot de dados nomeado em todos os threads. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
BeginCriticalRegion() |
Notifica um host que a execução está prestes a entrar em uma região de código em que os efeitos de uma exceção sem tratamento ou anulação de thread podem comprometer outras tarefas no domínio do aplicativo. |
BeginThreadAffinity() |
Notifica um host de que o código gerenciado está prestes a executar instruções que dependem da identidade do thread atual do sistema operacional físico. |
DisableComObjectEagerCleanup() |
Desativa a limpeza automática de RCWs (Runtime Callable Wrappers) para o thread atual. |
EndCriticalRegion() |
Notifica um host de que a execução está prestes a entrar em uma região de código na qual os efeitos de uma exceção sem tratamento ou anulação de thread estão limitados à tarefa atual. |
EndThreadAffinity() |
Notifica um host que o código gerenciado terminou de executar as instruções que dependem da identidade do thread do sistema operacional físico atual. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Finalize() |
Garante que os recursos são liberados e outras operações de limpeza são executadas quando o coletor de lixo recupera o objeto Thread. |
FreeNamedDataSlot(String) |
Elimina a associação entre um nome e um slot em todos os threads do processo. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
GetApartmentState() |
Retorna um valor ApartmentState que indica o estado do apartment. |
GetCompressedStack() |
Obsoleto.
Obsoleto.
Retorna um objeto CompressedStack que pode ser usado para capturar a pilha do thread atual. |
GetCurrentProcessorId() |
Obtém uma ID usada para indicar em qual processador o thread atual está sendo executado. |
GetData(LocalDataStoreSlot) |
Recupera o valor do slot especificado no thread atual, no domínio atual do thread atual. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
GetDomain() |
Retorna o domínio atual no qual o thread atual está em execução. |
GetDomainID() |
Retorna um identificador de domínio do aplicativo exclusivo. |
GetHashCode() |
Retorna um código hash para o thread atual. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetNamedDataSlot(String) |
Pesquisa um slot de dados nomeado. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
Interrupt() |
Interrompe um thread que está no estado de thread WaitSleepJoin. |
Join() |
Bloqueia o thread de chamada até que o thread representado por essa instância termine, enquanto continua a executar COM padrão e o bombeamento de |
Join(Int32) |
Bloqueia o thread de chamada até que o thread representado por essa instância termine ou até que o tempo especificado tenha decorrido, enquanto continua executando o COM padrão e o bombeamento de SendMessage. |
Join(TimeSpan) |
Bloqueia o thread de chamada até que o thread representado por essa instância termine ou até que o tempo especificado tenha decorrido, enquanto continua executando o COM padrão e o bombeamento de SendMessage. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemoryBarrier() |
Sincroniza o acesso à memória da seguinte maneira: o processador que executa o thread atual não pode reorganizar as instruções de forma que os acessos à memória antes da chamada a MemoryBarrier() sejam executados após os acessos de memória que seguem a chamada a MemoryBarrier(). |
ResetAbort() |
Obsoleto.
Cancela um Abort(Object) solicitado para o thread atual. |
Resume() |
Obsoleto.
Obsoleto.
Obsoleto.
Retoma um thread que foi suspenso. |
SetApartmentState(ApartmentState) |
Define o estado do apartment de um thread antes que ele seja iniciado. |
SetCompressedStack(CompressedStack) |
Obsoleto.
Obsoleto.
Aplica uma CompressedStack capturada ao thread atual. |
SetData(LocalDataStoreSlot, Object) |
Define os dados no slot especificado no thread em execução no momento, para o domínio atual do thread. Para melhorar o desempenho, use os campos marcados com o atributo ThreadStaticAttribute. |
Sleep(Int32) |
Suspende o thread atual no número especificado de milissegundos. |
Sleep(TimeSpan) |
Suspende o thread atual para o período de tempo especificado. |
SpinWait(Int32) |
Faz com que um thread aguarde o número de vezes definido pelo parâmetro |
Start() |
Faz com que o sistema operacional altere o estado da instância atual para Running. |
Start(Object) |
Faz com que o sistema operacional altere o estado da instância atual para Running e, opcionalmente, fornece um objeto que contém dados a serem usados pelo método executado pelo thread. |
Suspend() |
Obsoleto.
Obsoleto.
Obsoleto.
Suspende o thread ou, se o thread já está suspenso, não tem efeito. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TrySetApartmentState(ApartmentState) |
Define o estado do apartment de um thread antes que ele seja iniciado. |
UnsafeStart() |
Faz com que o sistema operacional altere o estado da instância atual para Running. |
UnsafeStart(Object) |
Faz com que o sistema operacional altere o estado da instância atual para Running e, opcionalmente, fornece um objeto que contém dados a serem usados pelo método executado pelo thread. |
VolatileRead(Byte) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Double) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Int16) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Int32) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Int64) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(IntPtr) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Object) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(SByte) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(Single) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(UInt16) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(UInt32) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(UInt64) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileRead(UIntPtr) |
Obsoleto.
Lê o valor de um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer após esse método no código, o processador não poderá movê-la para antes desse método. |
VolatileWrite(Byte, Byte) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Double, Double) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Int16, Int16) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Int32, Int32) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Int64, Int64) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(IntPtr, IntPtr) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Object, Object) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(SByte, SByte) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(Single, Single) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(UInt16, UInt16) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(UInt32, UInt32) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(UInt64, UInt64) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
VolatileWrite(UIntPtr, UIntPtr) |
Obsoleto.
Grava um valor em um campo. Em sistemas que precisam dele, insere uma barreira de memória que impede que o processador reordene as operações de memória da seguinte maneira: se uma leitura ou gravação aparecer antes desse método no código, o processador não poderá movê-la para depois desse método. |
Yield() |
Faz com que o thread de chamada conceda a execução para outro thread que está pronto para ser executado no processador atual. O sistema operacional seleciona o thread de recebimento. |
Implantações explícitas de interface
_Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. |
_Thread.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface. |
_Thread.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). |
_Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. |
Aplica-se a
Acesso thread-safe
Este tipo é thread-safe.