ProcessThread ProcessThread ProcessThread ProcessThread Class

Definição

Representa um thread de processo do sistema operacional.Represents an operating system process thread.

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

Comentários

Use ProcessThread para obter informações sobre um thread que está sendo executado atualmente no sistema.Use ProcessThread to obtain information about a thread that is currently running on the system. Isso permite que você, por exemplo, monitore as características de desempenho do thread.Doing so allows you, for example, to monitor the thread's performance characteristics.

Importante

Esse tipo implementa a interface IDisposable.This type implements the IDisposable interface. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Um thread é um caminho de execução por meio de um programa.A thread is a path of execution through a program. É a menor unidade de execução agendada pelo Win32.It is the smallest unit of execution that Win32 schedules. Ele consiste em uma pilha, o estado dos registros de CPU e uma entrada na lista de execução do Agendador do sistema.It consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler.

Um processo consiste em um ou mais threads e no código, nos dados e em outros recursos de um programa na memória.A process consists of one or more threads and the code, data, and other resources of a program in memory. Recursos de programa típicos são arquivos abertos, semáforos e memória alocada dinamicamente.Typical program resources are open files, semaphores, and dynamically allocated memory. Cada recurso de um processo é compartilhado por todos os threads do processo.Each resource of a process is shared by all that process's threads.

Um programa é executado quando o Agendador do sistema fornece controle de execução para um dos threads do programa.A program executes when the system scheduler gives execution control to one of the program's threads. O Agendador determina quais threads devem ser executados e quando.The scheduler determines which threads should run and when. Um thread de prioridade mais baixa pode ser forçado a aguardar enquanto os threads de prioridade mais alta concluem suas tarefas.A lower-priority thread might be forced to wait while higher-priority threads complete their tasks. Em computadores com vários processadores, o Agendador pode mover threads individuais para processadores diferentes, balanceando assim a carga da CPU.On multiprocessor computers, the scheduler can move individual threads to different processors, thus balancing the CPU load.

Cada processo começa com um único thread, que é conhecido como thread principal.Each process starts with a single thread, which is known as the primary thread. Qualquer thread pode criar threads adicionais.Any thread can create additional threads. Todos os threads em um processo compartilham o espaço de endereço desse processo.All the threads within a process share the address space of that process.

O thread primário não está necessariamente localizado no primeiro índice da coleção.The primary thread is not necessarily located at the first index in the collection.

Observação

A partir do .NET Framework versão 2,0, a capacidade de fazer referência a dados do contador de desempenho em outros computadores foi eliminada para muitos dos métodos e propriedades de .NET Framework.Starting with the .NET Framework version 2.0, the ability to reference performance counter data on other computers has been eliminated for many of the .NET Framework methods and properties. Essa alteração foi feita para melhorar o desempenho e para permitir que não administradores usem a ProcessThread classe.This change was made to improve performance and to enable non-administrators to use the ProcessThread class. Como resultado, alguns aplicativos que não obtiveram exceções em versões anteriores do .NET Framework podem agora obter um NotSupportedException.As a result, some applications that did not get exceptions in earlier versions of the .NET Framework may now get a NotSupportedException. Os métodos e as propriedades afetados são muito numerosos para listar aqui, mas as informações de exceção foram adicionadas aos tópicos de membro afetados.The methods and properties affected are too numerous to list here, but the exception information has been added to the affected member topics.

Os threads de um processo são executados individualmente e não sabem uns aos outros, a menos que você os torne visíveis entre si.The threads of a process execute individually and are unaware of each other unless you make them visible to each other. No entanto, os threads que compartilham recursos comuns devem coordenar seu trabalho usando semáforos ou outro método de comunicação entre processos.Threads that share common resources, however, must coordinate their work by using semaphores or another method of interprocess communication.

Para obter uma coleção de todos os ProcessThread objetos associados ao processo atual, obtenha a Threads propriedade da Process instância.To get a collection of all the ProcessThread objects associated with the current process, get the Threads property of the Process instance.

Propriedades

BasePriority BasePriority BasePriority BasePriority

Obtém a prioridade base do thread.Gets the base priority of the thread.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

Obtém o IContainer que contém o Component.Gets the IContainer that contains the Component.

(Inherited from Component)
CurrentPriority CurrentPriority CurrentPriority CurrentPriority

Obtém a prioridade atual do thread.Gets the current priority of the thread.

DesignMode DesignMode DesignMode DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Id Id Id Id

Obtém o identificador exclusivo do thread.Gets the unique identifier of the thread.

IdealProcessor IdealProcessor IdealProcessor IdealProcessor

Define o processador preferencial para execução desse thread.Sets the preferred processor for this thread to run on.

PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled 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.Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus.

PriorityLevel PriorityLevel PriorityLevel PriorityLevel

Obtém ou define o nível de prioridade do thread.Gets or sets the priority level of the thread.

PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime

Obtém a quantidade de tempo que o thread gastou executando código dentro do núcleo do sistema operacional.Gets the amount of time that the thread has spent running code inside the operating system core.

ProcessorAffinity ProcessorAffinity ProcessorAffinity ProcessorAffinity

Define os processadores em que o thread associado pode ser executado.Sets the processors on which the associated thread can run.

Site Site Site Site

Obtém ou define o ISite do Component.Gets or sets the ISite of the Component.

(Inherited from Component)
StartAddress StartAddress StartAddress StartAddress

Obtém o endereço de memória da função que o sistema operacional chamou e que iniciou esse thread.Gets the memory address of the function that the operating system called that started this thread.

StartTime StartTime StartTime StartTime

Obtém a hora em que o sistema operacional iniciou o thread.Gets the time that the operating system started the thread.

ThreadState ThreadState ThreadState ThreadState

Obtém o estado atual deste thread.Gets the current state of this thread.

TotalProcessorTime TotalProcessorTime TotalProcessorTime TotalProcessorTime

Obtém a quantidade total de tempo que esse thread gastou usando o processador.Gets the total amount of time that this thread has spent using the processor.

UserProcessorTime UserProcessorTime UserProcessorTime UserProcessorTime

Obtém o tempo que o thread associado gastou executando código no aplicativo.Gets the amount of time that the associated thread has spent running code inside the application.

WaitReason WaitReason WaitReason WaitReason

Obtém o motivo pelo qual o thread está aguardando.Gets the reason that the thread is waiting.

Métodos

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Libera todos os recursos usados pelo Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor()

Redefine o processador ideal para esse thread indicar que não há um único processador ideal.Resets the ideal processor for this thread to indicate that there is no single ideal processor. Em outras palavras, qualquer processador é ideal.In other words, so that any processor is ideal.

ToString() ToString() ToString() ToString()

Retorna um String que contém o nome do Component, se houver.Returns a String containing the name of the Component, if any. Esse método não deve ser substituído.This method should not be overridden.

(Inherited from Component)

Eventos

Disposed Disposed Disposed Disposed

Ocorre quando o componente é disposto por uma chamada para o método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Aplica-se a

Veja também