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 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à
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.
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 |