Process.ProcessorAffinity Propiedad
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í.
Obtiene o establece los procesadores en los que se puede programar la ejecución de los subprocesos de este proceso.
public:
property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr
Valor de propiedad
nativeint
Máscara de bits que representa los procesadores en los que pueden ejecutarse los subprocesos del proceso asociado. El valor predeterminado depende del número de procesadores del equipo. El valor predeterminado es 2 n -1, donde n es el número de procesadores.
- Atributos
Excepciones
La información de ProcessorAffinity no pudo establecerse o recuperarse del recurso del proceso asociado.
o bien
El identificador del proceso o el controlador del proceso es cero. (No se ha iniciado el proceso).
Está intentando obtener acceso a la propiedad ProcessorAffinity de un proceso que se ejecuta en un equipo remoto. Esta propiedad está disponible únicamente para los procesos que se ejecutan en el equipo local.
Comentarios
El valor devuelto por esta propiedad representa la afinidad actualizada más recientemente del proceso. Para obtener la afinidad más actualizada, primero debe llamar Refresh() al método .
En Windows 2000 y versiones posteriores, un subproceso de un proceso puede migrar del procesador al procesador, y cada migración vuelve a cargar la memoria caché del procesador. En cargas pesadas del sistema, especificar qué procesador debe ejecutar un subproceso específico puede mejorar el rendimiento reduciendo el número de veces que se vuelve a cargar la memoria caché del procesador. La asociación entre un procesador y un subproceso se denomina afinidad de procesador.
Cada procesador se representa como un bit. El bit 0 es el procesador uno, el bit 1 es el procesador dos, etc. Si establece un bit en el valor 1, el procesador correspondiente se selecciona para la asignación de subprocesos. Al establecer el ProcessorAffinity valor en cero, los algoritmos de programación del sistema operativo establecen la afinidad del subproceso. Cuando el ProcessorAffinity valor se establece en cualquier valor distinto de cero, el valor se interpreta como máscara de bits que especifica los procesadores aptos para la selección.
En la tabla siguiente se muestra una selección de ProcessorAffinity valores para un sistema de ocho procesadores.
Máscara | Valor binario | Procesadores aptos |
---|---|---|
0x0001 | 00000000 00000001 | 1 |
0x0003 | 00000000 00000011 | 1 y 2 |
0x0007 | 00000000 00000111 | Las tres opciones anteriores. |
0x0009 | 00000000 00001001 | 1 y 4 |
0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 y 7 |