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 pueden programar los subprocesos de este proceso.
public:
property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
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 se pueden ejecutar 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.
Excepciones
ProcessorAffinity No se pudo establecer ni recuperar información del recurso de proceso asociado.
O bien
El identificador de proceso o el identificador de proceso es cero. (No se ha iniciado el proceso).
Está intentando acceder a la ProcessorAffinity propiedad de un proceso que se ejecuta en un equipo remoto. Esta propiedad solo está disponible para procesos que se ejecutan en el equipo local.
Comentarios
El valor devuelto por esta propiedad representa la afinidad actualizada más reciente 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 de procesador a procesador, con cada migración que vuelva a cargar la memoria caché del procesador. En cargas pesadas del sistema, especificando 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, se selecciona el procesador correspondiente 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.
| Bitmask | Valor binario | Procesadores aptos |
|---|---|---|
| 0x0001 | 00000000 00000001 | 1 |
| 0x0003 | 00000000 00000011 | 1 y 2 |
| 0x0007 | 00000000 00000111 | 1, 2 y 3 |
| 0x0009 | 00000000 00001001 | 1 y 4 |
| 0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 y 7 |