ProcessThread Classe

Definição

Representa um thread de processo do sistema operativo.

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

Observações

Use ProcessThread para obter informações sobre um thread que está atualmente a correr no sistema. Ao fazê-lo, permite-se, por exemplo, monitorizar as características de desempenho da thread.

Importante

Este tipo implementa a interface IDisposable. Quando terminar de usar o tipo, você deve eliminá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame seu método Dispose em um bloco try/catch. Para descartá-lo indiretamente, use uma construção de linguagem como using (em C#) ou Using (em Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa IDisposable" no tópico da IDisposable interface.

Um thread é um caminho de execução através de um programa. É a menor unidade de execução que o Win32 agenda. Consiste numa pilha, no estado dos registos da CPU e numa entrada na lista de execução do escalonador do sistema.

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

Um programa é executado quando o planificador do sistema dá controlo de execução a um dos threads do programa. O escalonador determina quais threads devem ser executados e quando. Um thread de menor prioridade pode ser forçado a esperar enquanto os threads de prioridade superior completam as suas tarefas. Em computadores multiprocessador, o escalonador pode mover threads individuais para diferentes processadores, equilibrando assim a carga da CPU.

Cada processo começa com um único thread, conhecido como thread principal. Qualquer thread pode criar threads adicionais. Todos os threads dentro de um processo partilham o espaço de endereçamento desse processo.

O fio principal não está necessariamente localizado no primeiro índice da coleção.

Note

A partir da versão 2.0 do .NET Framework, a capacidade de referenciar dados de contadores de desempenho noutros computadores foi eliminada para muitos dos métodos e propriedades do .NET Framework. Esta alteração foi feita para melhorar o desempenho e permitir que não administradores utilizassem a ProcessThread classe. Como resultado, algumas aplicações que não receberam exceções em versões anteriores do .NET Framework podem agora receber um NotSupportedException. Os métodos e propriedades afetados são demasiado numerosos para listar aqui, mas a informação excecional foi adicionada aos tópicos dos membros afetados.

Os threads de um processo executam-se individualmente e não têm conhecimento uns dos outros, a menos que os tornes visíveis uns para os outros. Os threads que partilham recursos comuns, no entanto, têm de coordenar o 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

Name Description
BasePriority

Fica com a prioridade base do tópico.

CanRaiseEvents

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

(Herdado de Component)
Container

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

(Herdado de Component)
CurrentPriority

Fica com a prioridade atual do tópico.

DesignMode

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

(Herdado de Component)
Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
Id

Obtém o identificador único do tópico.

IdealProcessor

Define o processador preferido para esta thread correr.

PriorityBoostEnabled

Recebe ou define um valor que indica se o sistema operativo deve aumentar temporariamente a prioridade da thread associada sempre que a janela principal do processo da thread recebe o foco.

PriorityLevel

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

PrivilegedProcessorTime

Obtém o tempo que o thread passou a executar código dentro do núcleo do sistema operativo.

ProcessorAffinity

Define os processadores onde o thread associado pode correr.

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 operativo chamou e que iniciou este tópico.

StartTime

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

ThreadState

Percebo o estado atual deste tópico.

TotalProcessorTime

Obtém o tempo total que este tópico passou a usar o processador.

UserProcessorTime

Obtém o tempo que o thread associado passou a executar código dentro da aplicação.

WaitReason

Percebe a razão pela qual o tópico está à espera.

Métodos

Name Description
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetService(Type)

Devolve 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()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ResetIdealProcessor()

Reinicia o processador ideal para este tópico para indicar que não existe um único processador ideal. Ou seja, para que qualquer processador seja ideal.

ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de Component)

evento

Name Description
Disposed

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

(Herdado de Component)

Aplica-se a

Ver também