Process.ProcessorAffinity Propiedad

Definición

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

IntPtr

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.

El proceso Id no estaba disponible.

o bien

El proceso ha terminado.

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

Se aplica a