Process.ProcessorAffinity Proprietà

Definizione

Ottiene o imposta i processori in cui è possibile pianificare l'esecuzione dei thread in questo processo.

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

Valore della proprietà

IntPtr

nativeint

Maschera di bit che rappresenta i processori su cui possono essere eseguiti i thread nel processo associato. Il valore predefinito dipende dal numero di processori nel computer. Il valore predefinito è 2 n -1, dove n è il numero di processori.

Eccezioni

ProcessorAffinity Impossibile impostare o recuperare informazioni dalla risorsa di processo associata.

oppure

L'identificatore del processo o l'handle di processo è zero. Il processo non è stato avviato.

Si sta tentando di accedere alla ProcessorAffinity proprietà 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 era disponibile.

oppure

Il processo è stato chiuso.

Commenti

Il valore restituito da questa proprietà rappresenta l'affinità aggiornata più di recente del processo. Per ottenere l'affinità più aggiornata, è prima 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. Con carichi di sistema elevati, 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 è detta affinità del processore.

Ogni processore è rappresentato come un po'. Bit 0 è processore 1, 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 è impostato su qualsiasi valore diverso da zero, il valore viene interpretato come maschera di bit che specifica i processori idonei per la selezione.

La tabella seguente mostra una selezione di ProcessorAffinity valori per un sistema a 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