Compartilhar via


ProcessThread Classe

Definição

Representa um thread de processo do sistema operacional.

public ref class ProcessThread : System::ComponentModel::Component
public ref class ProcessThread
public class ProcessThread : System.ComponentModel.Component
public class ProcessThread
type ProcessThread = class
    inherit Component
type ProcessThread = class
Public Class ProcessThread
Inherits Component
Public Class ProcessThread
Herança
Herança
ProcessThread

Comentários

Use ProcessThread para obter informações sobre um thread que está em execução no sistema. Isso permite, por exemplo, monitorar as características de desempenho do thread.

Importante

Esse tipo implementa a interface IDisposable. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/catch. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.

Um thread é um caminho de execução por meio de um programa. É a menor unidade de execução agendada pelo Win32. Ele consiste em uma pilha, o estado dos registros de CPU e uma entrada na lista de execução do agendador do sistema.

Um processo consiste em um ou mais threads e no código, dados e outros recursos de um programa na memória. Os recursos típicos do programa são arquivos abertos, semáforos e memória alocada dinamicamente. Cada recurso de um processo é compartilhado por todos os threads desse processo.

Um programa é executado quando o agendador do sistema fornece controle de execução a um dos threads do programa. O agendador determina quais threads devem ser executados e quando. Um thread de prioridade mais baixa pode ser forçado a esperar enquanto threads de prioridade mais alta concluem suas tarefas. Em computadores com vários processadores, o agendador pode mover threads individuais para processadores diferentes, equilibrando assim a carga da CPU.

Cada processo começa com um único thread, que é conhecido como thread primário. Qualquer thread pode criar threads adicionais. Todos os threads dentro de um processo compartilham o espaço de endereço desse processo.

O thread primário não está necessariamente localizado no primeiro índice da coleção.

Observação

A partir do .NET Framework versão 2.0, a capacidade de referenciar dados do contador de desempenho em outros computadores foi eliminada para muitos dos métodos e propriedades do .NET Framework. Essa alteração foi feita para melhorar o desempenho e permitir que não administradores usem a ProcessThread classe . Como resultado, alguns aplicativos que não obtiveram exceções em versões anteriores do .NET Framework agora podem obter um NotSupportedException. Os métodos e as propriedades afetadas são muito numerosos para listar aqui, mas as informações de exceção foram adicionadas aos tópicos de membro afetados.

Os threads de um processo são executados individualmente e não estão cientes uns dos outros, a menos que você os torne visíveis uns para os outros. Os threads que compartilham recursos comuns, no entanto, devem coordenar seu trabalho usando semáforos ou outro método de comunicação entre processos.

Para obter uma coleção de todos os ProcessThread objetos associados ao processo atual, obtenha a Threads propriedade da Process instância .

Propriedades

BasePriority

Obtém a prioridade base do thread.

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
CurrentPriority

Obtém a prioridade atual do thread.

DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.

(Herdado de Component)
Id

Obtém o identificador exclusivo do thread.

IdealProcessor

Define o processador preferencial para execução desse thread.

PriorityBoostEnabled

Obtém ou define um valor que indica se o sistema operacional deverá aumentar temporariamente a prioridade do thread associado sempre que a janela principal do processo do thread receber o foco.

PriorityLevel

Obtém ou define o nível de prioridade do thread.

PrivilegedProcessorTime

Obtém a quantidade de tempo que o thread gastou executando código dentro do núcleo do sistema operacional.

ProcessorAffinity

Define os processadores em que o thread associado pode ser executado.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
StartAddress

Obtém o endereço de memória da função que o sistema operacional chamou e que iniciou esse thread.

StartTime

Obtém a hora em que o sistema operacional iniciou o thread.

ThreadState

Obtém o estado atual deste thread.

TotalProcessorTime

Obtém a quantidade total de tempo que esse thread gastou usando o processador.

UserProcessorTime

Obtém o tempo que o thread associado gastou executando código no aplicativo.

WaitReason

Obtém o motivo pelo qual o thread está aguardando.

Métodos

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ResetIdealProcessor()

Redefine o processador ideal para esse thread indicar que não há um único processador ideal. Em outras palavras, qualquer processador é ideal.

ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de Component)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada ao método Dispose().

(Herdado de Component)

Aplica-se a

Confira também