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.