ProcessThread Clase

Definición

Representa un subproceso del sistema operativo.Represents an operating system process thread.

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
Herencia
Herencia
ProcessThread

Comentarios

Utilice ProcessThread para obtener información acerca de un subproceso que se está ejecutando actualmente en el sistema.Use ProcessThread to obtain information about a thread that is currently running on the system. Esto le permite, por ejemplo, supervisar las características de rendimiento del subproceso.Doing so allows you, for example, to monitor the thread's performance characteristics.

Importante

Este tipo implementa la interfaz IDisposable.This type implements the IDisposable interface. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Un subproceso es una ruta de acceso de ejecución a través de un programa.A thread is a path of execution through a program. Es la unidad más pequeña de ejecución que programa Win32.It is the smallest unit of execution that Win32 schedules. Consta de una pila, el estado de los registros de la CPU y una entrada en la lista de ejecución del programador del sistema.It consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler.

Un proceso se compone de uno o más subprocesos y el código, los datos y otros recursos de un programa en la memoria.A process consists of one or more threads and the code, data, and other resources of a program in memory. Los recursos de programa típicos son archivos abiertos, semáforos y memoria asignada dinámicamente.Typical program resources are open files, semaphores, and dynamically allocated memory. Cada recurso de un proceso se comparte entre todos los subprocesos de ese proceso.Each resource of a process is shared by all that process's threads.

Un programa se ejecuta cuando el programador del sistema proporciona el control de la ejecución a uno de los subprocesos del programa.A program executes when the system scheduler gives execution control to one of the program's threads. Scheduler determina los subprocesos que deben ejecutarse y cuándo.The scheduler determines which threads should run and when. Un subproceso de prioridad más baja podría verse obligado a esperar mientras los subprocesos de mayor prioridad completan sus tareas.A lower-priority thread might be forced to wait while higher-priority threads complete their tasks. En los equipos con varios procesadores, el programador puede trasladar subprocesos individuales a distintos procesadores, con lo que se equilibra la carga de la CPU.On multiprocessor computers, the scheduler can move individual threads to different processors, thus balancing the CPU load.

Cada proceso se inicia con un solo subproceso, que se conoce como el subproceso principal.Each process starts with a single thread, which is known as the primary thread. Cualquier subproceso puede crear subprocesos adicionales.Any thread can create additional threads. Todos los subprocesos de un proceso comparten el espacio de direcciones de ese proceso.All the threads within a process share the address space of that process.

El subproceso principal no se encuentra necesariamente en el primer índice de la colección.The primary thread is not necessarily located at the first index in the collection.

Nota

A partir de la versión 2,0 de .NET Framework, se ha eliminado la capacidad de hacer referencia a los datos del contador de rendimiento en otros equipos para muchos de los métodos y propiedades 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. Este cambio se realizó para mejorar el rendimiento y permitir que los usuarios que no son administradores puedan usar la ProcessThread clase.This change was made to improve performance and to enable non-administrators to use the ProcessThread class. Como resultado, algunas aplicaciones que no han obtenido excepciones en versiones anteriores del .NET Framework pueden obtener ahora NotSupportedException .As a result, some applications that did not get exceptions in earlier versions of the .NET Framework may now get a NotSupportedException. Los métodos y las propiedades afectados son demasiado numerosos para enumerarlos aquí, pero la información de la excepción se ha agregado a los temas de miembro afectados.The methods and properties affected are too numerous to list here, but the exception information has been added to the affected member topics.

Los subprocesos de un proceso se ejecutan individualmente y no se reconocen entre sí a menos que los haga visibles entre sí.The threads of a process execute individually and are unaware of each other unless you make them visible to each other. Sin embargo, los subprocesos que comparten recursos comunes deben coordinar su trabajo mediante el uso de semáforos u otro método de comunicación entre procesos.Threads that share common resources, however, must coordinate their work by using semaphores or another method of interprocess communication.

Para obtener una colección de todos los ProcessThread objetos asociados al proceso actual, obtenga la Threads propiedad de la Process instancia.To get a collection of all the ProcessThread objects associated with the current process, get the Threads property of the Process instance.

Propiedades

BasePriority

Obtiene la prioridad base del subproceso.Gets the base priority of the thread.

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
Container

Obtiene la interfaz IContainer que contiene la clase Component.Gets the IContainer that contains the Component.

(Heredado de Component)
CurrentPriority

Obtiene la prioridad actual del subproceso.Gets the current priority of the thread.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
Id

Obtiene el identificador único del subproceso.Gets the unique identifier of the thread.

IdealProcessor

Establece el procesador preferido para ejecutar este subproceso.Sets the preferred processor for this thread to run on.

PriorityBoostEnabled

Obtiene o establece un valor que indica si el sistema operativo debe aumentar temporalmente la prioridad del subproceso asociado siempre que la ventana principal del proceso del subproceso reciba el 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

Obtiene o establece el nivel de prioridad del subproceso.Gets or sets the priority level of the thread.

PrivilegedProcessorTime

Obtiene el tiempo durante el cual el subproceso ha ejecutado código dentro del núcleo del sistema operativo.Gets the amount of time that the thread has spent running code inside the operating system core.

ProcessorAffinity

Establece los procesadores en los que puede ejecutarse el subproceso asociado.Sets the processors on which the associated thread can run.

Site

Obtiene o establece ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)
StartAddress

Obtiene la dirección de memoria de la función a la que llamó el sistema operativo para iniciar este subproceso.Gets the memory address of the function that the operating system called that started this thread.

StartTime

Obtiene la hora a la que el sistema operativo inició el subproceso.Gets the time that the operating system started the thread.

ThreadState

Obtiene el estado actual de este subproceso.Gets the current state of this thread.

TotalProcessorTime

Obtiene la cantidad total de tiempo que este subproceso ha estado usando el procesador.Gets the total amount of time that this thread has spent using the processor.

UserProcessorTime

Obtiene el tiempo durante el cual el subproceso asociado ha ejecutado código dentro de la aplicación.Gets the amount of time that the associated thread has spent running code inside the application.

WaitReason

Obtiene la razón por la que el subproceso está esperando.Gets the reason that the thread is waiting.

Métodos

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ResetIdealProcessor()

Restablece el procesador ideal para este subproceso a fin de indicar que no hay un solo procesador ideal.Resets the ideal processor for this thread to indicate that there is no single ideal processor. En otras palabras, cualquier procesador es ideal.In other words, so that any processor is ideal.

ToString()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Heredado de Component)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)

Se aplica a

Consulte también