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::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
Comentários
Para obter mais informações sobre essa API, consulte comentários de API Suplementar para Thread.
Construtores
| Nome | Description |
|---|---|
| Thread(ParameterizedThreadStart, Int32) |
Inicializa uma nova instância da Thread classe, especificando um delegado que permite que um objeto seja passado para o thread quando o thread for iniciado e especificando o tamanho máximo da pilha para o thread. |
| Thread(ParameterizedThreadStart) |
Inicializa uma nova instância da Thread classe, especificando um delegado que permite que um objeto seja passado para o thread quando o thread for iniciado. |
| Thread(ThreadStart, Int32) |
Inicializa uma nova instância da Thread classe, especificando o tamanho máximo da pilha para o thread. |
| Thread(ThreadStart) |
Inicializa uma nova instância da classe Thread. |
Propriedades
| Nome | Description |
|---|---|
| ApartmentState |
Obsoleto.
Obtém ou define o estado do apartamento deste thread. |
| CurrentContext |
Obtém o contexto atual no qual o thread está sendo executado. |
| 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 pesquisar recursos específicos da cultura em tempo de execução. |
| ExecutionContext |
Obtém um ExecutionContext objeto que contém informações sobre os vários 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 em segundo plano. |
| IsThreadPoolThread |
Obtém um valor que indica se um thread pertence ou não ao pool de threads gerenciado. |
| 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
| Nome | Description |
|---|---|
| Abort() |
Gera um ThreadAbortException thread no qual ele é invocado, para iniciar o processo de encerramento do thread. Chamar esse método geralmente encerra o thread. |
| Abort(Object) |
Gera um ThreadAbortException thread no qual ele é invocado, para iniciar o processo de encerramento do thread, ao mesmo tempo em que fornece informações de exceção sobre o término do thread. Chamar esse método geralmente encerra o thread. |
| AllocateDataSlot() |
Aloca um slot de dados sem nome em todos os threads. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| AllocateNamedDataSlot(String) |
Aloca um slot de dados nomeado em todos os threads. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| BeginCriticalRegion() |
Notifica um host de que a execução está prestes a inserir uma região de código na qual 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 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 wrappers callable (RCW) de runtime para o thread atual. |
| EndCriticalRegion() |
Notifica um host de que a execução está prestes a inserir uma região de código na qual os efeitos de uma exceção sem tratamento ou anulação de thread são limitados à tarefa atual. |
| EndThreadAffinity() |
Notifica um host que o código gerenciado terminou de executar instruções que dependem da identidade do thread atual do sistema operacional físico. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Garante que os recursos sejam liberados e outras operações de limpeza sejam executadas quando o coletor de lixo recuperar o Thread objeto. |
| FreeNamedDataSlot(String) |
Elimina a associação entre um nome e um slot para todos os threads no processo. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| GetApartmentState() |
Retorna um ApartmentState valor que indica o estado do apartamento. |
| GetCompressedStack() |
Obsoleto.
Retorna um CompressedStack objeto 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, dentro do domínio atual do thread atual. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| GetDomain() |
Retorna o domínio atual no qual o thread atual está em execução. |
| GetDomainID() |
Retorna um identificador de domínio de aplicativo exclusivo. |
| GetHashCode() |
Retorna um código hash para o thread atual. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetNamedDataSlot(String) |
Pesquisa um slot de dados nomeado. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Interrupt() |
Interrompe um thread que está no estado do WaitSleepJoin thread. |
| Join() |
Bloqueia o thread de chamada até que o thread representado por essa instância seja encerrado, enquanto continua a executar o COM padrão e o |
| Join(Int32) |
Bloqueia o thread de chamada até que o thread representado por essa instância termine ou o tempo especificado decorrido, enquanto continua a executar o bombeamento padrão de COM e SendMessage. |
| Join(TimeSpan) |
Bloqueia o thread de chamada até que o thread representado por essa instância termine ou o tempo especificado decorrido, enquanto continua a executar o bombeamento padrão de COM e SendMessage. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemoryBarrier() |
Sincroniza o acesso à memória da seguinte maneira: o processador que executa o thread atual não pode reordenar instruções de modo que a memória acesse antes da chamada a MemoryBarrier() ser executada após os acessos de memória que seguem a chamada para MemoryBarrier(). |
| ResetAbort() |
Cancela uma solicitação Abort(Object) para o thread atual. |
| Resume() |
Obsoleto.
Obsoleto.
Retoma um thread que foi suspenso. |
| SetApartmentState(ApartmentState) |
Define o estado do apartamento de um thread antes de ser iniciado. |
| SetCompressedStack(CompressedStack) |
Obsoleto.
Aplica um capturado CompressedStack ao thread atual. |
| SetData(LocalDataStoreSlot, Object) |
Define os dados no slot especificado no thread em execução no momento, para o domínio atual desse thread. Para obter um melhor desempenho, use campos marcados com o ThreadStaticAttribute atributo. |
| Sleep(Int32) |
Suspende o thread atual para o número especificado de milissegundos. |
| Sleep(TimeSpan) |
Suspende o thread atual pela quantidade de tempo especificada. |
| SpinWait(Int32) |
Faz com que um thread aguarde o número de vezes definido pelo |
| 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 Runningatual e, opcionalmente, fornece um objeto que contém dados a serem usados pelo método que o thread executa. |
| Suspend() |
Obsoleto.
Obsoleto.
Suspender o thread ou, se o thread já estiver suspenso, não terá efeito. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| TrySetApartmentState(ApartmentState) |
Define o estado do apartamento de um thread antes de ser iniciado. |
| VolatileRead(Byte) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Double) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Int16) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Int32) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Int64) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(IntPtr) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Object) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(SByte) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(Single) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(UInt16) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(UInt32) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(UInt64) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileRead(UIntPtr) |
Lê o valor de um campo. Em sistemas que exigem isso, 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ê-lo antes desse método. |
| VolatileWrite(Byte, Byte) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Double, Double) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Int16, Int16) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Int32, Int32) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Int64, Int64) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(IntPtr, IntPtr) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Object, Object) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(SByte, SByte) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(Single, Single) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(UInt16, UInt16) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(UInt32, UInt32) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(UInt64, UInt64) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse método. |
| VolatileWrite(UIntPtr, UIntPtr) |
Grava um valor em um campo. Em sistemas que exigem isso, 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ê-lo após esse 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 para o qual produzir. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _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
Esse tipo é thread safe.