ProcessThread Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un subproceso del sistema operativo.
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
Use ProcessThread para obtener información sobre un subproceso que se ejecuta actualmente en el sistema. Esto le permite, por ejemplo, supervisar las características de rendimiento del subproceso.
Importante
Este tipo implementa la interfaz IDisposable. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try
/catch
. Para deshacerse de él indirectamente, use una construcción de lenguaje como using
(en C#) o Using
(en Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.
Un subproceso es una ruta de ejecución a través de un programa. Es la unidad de ejecución más pequeña que programa Win32. Consta de una pila, el estado de los registros de CPU y una entrada en la lista de ejecución del programador del sistema.
Un proceso consta de uno o varios subprocesos y del código, los datos y otros recursos de un programa en memoria. Los recursos típicos de un programa son archivos abiertos, semáforos y memoria asignada dinámicamente. Todos los subprocesos de ese proceso comparten cada recurso de un proceso.
Un programa se ejecuta cuando el programador del sistema proporciona control de ejecución a uno de los subprocesos del programa. El programador determina qué subprocesos se deben ejecutar y cuándo. Un subproceso de prioridad inferior podría verse obligado a esperar mientras los subprocesos de prioridad superior completan sus tareas. En equipos multiprocesador, el programador puede mover subprocesos individuales a diferentes procesadores, lo que equilibra la carga de CPU.
Cada proceso comienza con un único subproceso, que se conoce como subproceso principal. Cualquier subproceso puede crear subprocesos adicionales. Todos los subprocesos de un proceso comparten el espacio de direcciones de ese proceso.
El subproceso principal no se encuentra necesariamente en el primer índice de la colección.
Nota
A partir de la versión 2.0 de .NET Framework, se ha eliminado la capacidad de hacer referencia a datos de contadores de rendimiento en otros equipos para muchos de los métodos y propiedades de .NET Framework. Este cambio se realizó para mejorar el rendimiento y permitir que los no administradores usen la ProcessThread clase . Como resultado, algunas aplicaciones que no obtenieron excepciones en versiones anteriores de .NET Framework ahora pueden obtener un NotSupportedException. Los métodos y propiedades afectados son demasiado numerosos para enumerar aquí, pero la información de excepción se ha agregado a los temas de miembros afectados.
Los subprocesos de un proceso se ejecutan individualmente y no son conscientes entre sí a menos que los haga visibles entre sí. Sin embargo, los subprocesos que comparten recursos comunes deben coordinar su trabajo mediante semáforos u otro método de comunicación entre procesos.
Para obtener una colección de todos los ProcessThread objetos asociados al proceso actual, obtenga la Threads propiedad de la Process instancia.
Propiedades
BasePriority |
Obtiene la prioridad base del subproceso. |
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
CurrentPriority |
Obtiene la prioridad actual del subproceso. |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
Id |
Obtiene el identificador único del subproceso. |
IdealProcessor |
Establece el procesador preferido para ejecutar este subproceso. |
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. |
PriorityLevel |
Obtiene o establece el nivel de prioridad del subproceso. |
PrivilegedProcessorTime |
Obtiene el tiempo durante el cual el subproceso ha ejecutado código dentro del núcleo del sistema operativo. |
ProcessorAffinity |
Establece los procesadores en los que puede ejecutarse el subproceso asociado. |
Site |
Obtiene o establece ISite de 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. |
StartTime |
Obtiene la hora a la que el sistema operativo inició el subproceso. |
ThreadState |
Obtiene el estado actual de este subproceso. |
TotalProcessorTime |
Obtiene la cantidad total de tiempo que este subproceso ha estado usando el procesador. |
UserProcessorTime |
Obtiene el tiempo durante el cual el subproceso asociado ha ejecutado código dentro de la aplicación. |
WaitReason |
Obtiene la razón por la que el subproceso está esperando. |
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. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados. (Heredado de Component) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ResetIdealProcessor() |
Restablece el procesador ideal para este subproceso a fin de indicar que no hay un solo procesador ideal. En otras palabras, cualquier procesador es ideal. |
ToString() |
Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Eventos
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |