Process.ProcessorAffinity Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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.
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 |