Process.ProcessorAffinity Proprietà

Definizione

Ottiene o imposta i processori nei quali è pianificata l'esecuzione dei thread di questo processo.

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

Valore della proprietà

IntPtr

nativeint

Maschera di bit che rappresenta i processori con cui è possibile eseguire i thread del processo associato. Il valore predefinito dipende dal numero di processori presenti nel computer. Il valore predefinito è 2 n -1, dove n è il numero di processori.

Attributi

Eccezioni

Non è possibile impostare o recuperare le informazioni di ProcessorAffinity dalla risorsa del processo associato.

-oppure-

L'identificatore di processo o l'handle di processo è zero (il processo non è stato avviato).

Si sta provando ad accedere alla proprietà ProcessorAffinity per un processo in esecuzione in un computer remoto. Questa proprietà è disponibile solo per i processi in esecuzione nel computer locale.

Il processo Id non è disponibile.

-oppure-

Il processo è stato terminato.

Commenti

Il valore restituito da questa proprietà rappresenta l'affinità aggiornata più di recente del processo. Per ottenere prima di tutto l'affinità aggiornata, è necessario chiamare Refresh() il metodo.

In Windows 2000 e versioni successive un thread in un processo può eseguire la migrazione dal processore al processore, con ogni migrazione ricaricando la cache del processore. In carichi di sistema pesanti, specificando quale processore deve eseguire un thread specifico può migliorare le prestazioni riducendo il numero di volte in cui viene ricaricata la cache del processore. L'associazione tra un processore e un thread è denominata affinità del processore.

Ogni processore è rappresentato come bit. Bit 0 è processore uno, bit 1 è processore due e così via. Se si imposta un bit sul valore 1, il processore corrispondente viene selezionato per l'assegnazione di thread. Quando si imposta il ProcessorAffinity valore su zero, gli algoritmi di pianificazione del sistema operativo impostano l'affinità del thread. Quando il ProcessorAffinity valore viene impostato su qualsiasi valore diverso da zero, il valore viene interpretato come maschera bit che specifica i processori idonei per la selezione.

La tabella seguente mostra una selezione di ProcessorAffinity valori per un sistema di otto processori.

Maschera Valore binario Processori idonei
0x0001 00000000 00000001 1
0x0003 00000000 00000011 1 e 2
0x0007 00000000 00000111 1, 2 e 3
0x0009 00000000 00001001 1 e 4
0x007F 00000000 01111111 1, 2, 3, 4, 5, 6 e 7

Si applica a