Thread Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria e controla uma thread, define a sua prioridade e obtém o seu estado.
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
interface _Thread
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
inherit CriticalFinalizerObject
interface _Thread
type Thread = class
inherit CriticalFinalizerObject
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
- Herança
-
Thread
- Herança
- Atributos
- Implementações
Observações
Para mais informações sobre esta API, consulte Observações suplementares da API para o Thread.
Construtores
| Name | Description |
|---|---|
| Thread(ParameterizedThreadStart, Int32) |
Inicializa uma nova instância da Thread classe, especificando um delegado que permite que um objeto seja passado para a thread quando a thread é iniciada e especificando o tamanho máximo da pilha da thread. |
| Thread(ParameterizedThreadStart) |
Inicializa uma nova instância da Thread classe, especificando um delegado que permite que um objeto seja passado para a thread quando a thread é iniciada. |
| Thread(ThreadStart, Int32) |
Inicializa uma nova instância da Thread classe, especificando o tamanho máximo da pilha para a thread. |
| Thread(ThreadStart) |
Inicializa uma nova instância da Thread classe. |
Propriedades
| Name | Description |
|---|---|
| ApartmentState |
Obsoleto.
Percebe ou define o estado do apartamento deste tópico. |
| CurrentContext |
Obtém o contexto atual em que a thread está a ser executada. |
| CurrentCulture |
Obtém ou define a cultura do tópico atual. |
| CurrentPrincipal |
Obtém ou define o principal atual do thread (para segurança baseada em funções). |
| CurrentThread |
Fica com o tópico que está a correr atualmente. |
| CurrentUICulture |
Obtém ou define a cultura atual usada pelo Resource Manager para consultar recursos específicos da cultura em tempo de execução. |
| ExecutionContext |
Obtém um ExecutionContext objeto que contém informação sobre os vários contextos da thread atual. |
| IsAlive |
Recebe um valor que indica o estado de execução da thread atual. |
| IsBackground |
Recebe ou define um valor que indica se um thread é ou não um thread em segundo plano. |
| IsThreadPoolThread |
Recebe um valor que indica se uma thread pertence ou não ao pool de threads geridos. |
| ManagedThreadId |
Obtém um identificador único para a thread gerida atual. |
| Name |
Obtém ou define o nome do tópico. |
| Priority |
Recebe ou define um valor que indica a prioridade de agendamento de uma thread. |
| ThreadState |
Obtém um valor contendo os estados do thread atual. |
Métodos
| Name | Description |
|---|---|
| Abort() |
Eleva a ThreadAbortException no thread onde é invocado, para iniciar o processo de terminação do thread. Chamar este método normalmente termina o thread. |
| Abort(Object) |
Levanta a ThreadAbortException no thread onde é invocado, para iniciar o processo de terminação do thread, fornecendo também informação de exceção sobre a terminação do thread. Chamar este método normalmente termina o thread. |
| AllocateDataSlot() |
Aloca um slot de dados sem nome em todos os threads. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| AllocateNamedDataSlot(String) |
Aloca um slot de dados nomeado em todos os threads. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| BeginCriticalRegion() |
Notifica um host que a execução está prestes a entrar numa região de código em que os efeitos de um aborto de thread ou exceção não tratada podem pôr em risco outras tarefas no domínio da aplicação. |
| BeginThreadAffinity() |
Notifica um host que o código gerido está prestes a executar instruções que dependem da identidade do thread físico atual do sistema operativo. |
| DisableComObjectEagerCleanup() |
Desliga a limpeza automática dos wrappers chamáveis em tempo de execução (RCW) para a thread atual. |
| EndCriticalRegion() |
Notifica um host que a execução está prestes a entrar numa região de código em que os efeitos de um aborto de thread ou exceção não tratada são limitados à tarefa atual. |
| EndThreadAffinity() |
Notifica um host que o código gerido terminou de executar instruções que dependem da identidade do thread atual do sistema operativo físico. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Assegura que os recursos são libertados e que outras operações de limpeza são realizadas quando o coletor de lixo recupera o Thread objeto. |
| FreeNamedDataSlot(String) |
Elimina a associação entre um nome e um espaço, para todas as threads no processo. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| GetApartmentState() |
Devolve um ApartmentState valor que indica o estado do apartamento. |
| GetCompressedStack() |
Obsoleto.
Devolve um CompressedStack objeto que pode ser usado para capturar a pilha do thread atual. |
| GetCurrentProcessorId() |
Recebe um ID usado para indicar em que processador o thread atual está a executar. |
| GetData(LocalDataStoreSlot) |
Recupera o valor do slot especificado na thread atual, dentro do domínio atual da thread atual. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| GetDomain() |
Devolve o domínio atual onde o thread atual está a correr. |
| GetDomainID() |
Devolve um identificador único do domínio da aplicação. |
| GetHashCode() |
Devolve um código hash para o thread atual. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetNamedDataSlot(String) |
Procura um slot de dados nomeado. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Interrupt() |
Interrompe um thread que está no WaitSleepJoin estado do thread. |
| Join() |
Bloqueia o thread que chama até que o thread representado por esta instância termine, continuando a realizar o COM e |
| Join(Int32) |
Bloqueia o thread que chama até que o thread representado por esta instância termine ou o tempo especificado decorra, continuando a realizar o COM padrão e o encaminhamento de mensagens. |
| Join(TimeSpan) |
Bloqueia o thread que chama até que o thread representado por esta instância termine ou o tempo especificado decorra, continuando a realizar o COM padrão e o encaminhamento de mensagens. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemoryBarrier() |
Sincroniza o acesso à memória da seguinte forma: O processador que executa o thread atual não pode reordenar instruções de forma a que os acessos à memória antes da chamada sejam MemoryBarrier() executados após os acessos à memória que seguem a chamada para MemoryBarrier(). |
| ResetAbort() |
Cancela um Abort(Object) pedido para o tópico atual. |
| Resume() |
Obsoleto.
Obsoleto.
Retoma um tópico que foi suspenso. |
| SetApartmentState(ApartmentState) |
Define o estado do apartamento de um tópico antes de ser iniciado. |
| SetCompressedStack(CompressedStack) |
Obsoleto.
Aplica um capturado CompressedStack ao tópico atual. |
| SetData(LocalDataStoreSlot, Object) |
Define os dados no slot especificado na thread em curso, para o domínio atual dessa thread. Para melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo em vez disso. |
| Sleep(Int32) |
Suspende o fio atual durante o número especificado de milissegundos. |
| Sleep(TimeSpan) |
Suspende o thread atual durante o tempo especificado. |
| SpinWait(Int32) |
Faz com que um thread espere o número de vezes definido pelo |
| Start() |
Faz com que o sistema operativo altere o estado da instância atual para Running. |
| Start(Object) |
Faz com que o sistema operativo altere o estado da instância atual para Running, e opcionalmente fornece um objeto contendo dados a serem usados pelo método que a thread executa. |
| Suspend() |
Obsoleto.
Obsoleto.
Ou suspende a linha, ou se a linha já estiver suspensa, não tem efeito. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TrySetApartmentState(ApartmentState) |
Define o estado do apartamento de um tópico antes de ser iniciado. |
| VolatileRead(Byte) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Double) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Int16) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Int32) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Int64) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(IntPtr) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Object) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(SByte) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(Single) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(UInt16) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(UInt32) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(UInt64) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileRead(UIntPtr) |
Lê o valor de um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer após este método no código, o processador não pode movê-lo antes deste método. |
| VolatileWrite(Byte, Byte) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Double, Double) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Int16, Int16) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Int32, Int32) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Int64, Int64) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(IntPtr, IntPtr) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Object, Object) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(SByte, SByte) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(Single, Single) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(UInt16, UInt16) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(UInt32, UInt32) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(UInt64, UInt64) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| VolatileWrite(UIntPtr, UIntPtr) |
Escreve um valor para um campo. Em sistemas que o requerem, insere uma barreira de memória que impede o processador de reordenar as operações de memória da seguinte forma: Se uma leitura ou escrita aparecer antes deste método no código, o processador não pode movê-lo após esse método. |
| Yield() |
Faz com que a thread que chama dê a execução a outra thread pronta para correr no processador atual. O sistema operativo seleciona o thread a ceder. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. |
| _Thread.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface. |
| _Thread.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). |
| _Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. |
Aplica-se a
Segurança de Thread
Este tipo é seguro para fios.