Process.ProcessorAffinity Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví procesory, na kterých vlákna v tomto procesu lze naplánovat spuštění.
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
Hodnota vlastnosti
nativeint
Bitová maska představující procesory, na kterých mohou běžet vlákna v přidruženém procesu. Výchozí hodnota závisí na počtu procesorů v počítači. Výchozí hodnota je 2 n -1, kde n je počet procesorů.
- Atributy
Výjimky
ProcessorAffinity z přidruženého prostředku procesu nebylo možné nastavit nebo načíst informace.
-nebo-
Identifikátor procesu nebo popisovač procesu je nula. (Proces nebyl spuštěn.)
Pokoušíte se získat přístup ProcessorAffinity k vlastnosti pro proces, který je spuštěn na vzdáleném počítači. Tato vlastnost je k dispozici pouze pro procesy spuštěné v místním počítači.
Poznámky
Hodnota vrácená touto vlastností představuje naposledy aktualizované spřažení procesu. Abyste získali nejaktuálnější spřažení, musíte nejprve zavolat Refresh() metodu .
V systému Windows 2000 a novějších může vlákno v procesu migrovat z procesoru na procesor, přičemž při každé migraci se mezipaměť procesoru znovu načte. Při vysokém zatížení systému může určení procesoru, který by měl spouštět konkrétní vlákno, zvýšit výkon tím, že se sníží počet opakovaných načtení mezipaměti procesoru. Přidružení mezi procesorem a vláknem se nazývá spřažení procesoru.
Každý procesor je vyjádřen jako bit. Bit 0 je procesor 1, bit 1 je procesor dva atd. Pokud nastavíte bit na hodnotu 1, je pro přiřazení vlákna vybrán odpovídající procesor. Když hodnotu nastavíte ProcessorAffinity na nulu, algoritmy plánování operačního systému nastaví spřažení vlákna. ProcessorAffinity Pokud je hodnota nastavena na libovolnou nenulovou hodnotu, je hodnota interpretována jako bitová maska, která určuje procesory, které lze vybrat.
Následující tabulka ukazuje výběr ProcessorAffinity hodnot pro systém s osmi procesory.
Maskování | Binární hodnota | Opravňující procesory |
---|---|---|
0x0001 | 00000000 00000001 | 1 |
0x0003 | 00000000 00000011 | 1 a 2 |
0x0007 | 00000000 00000111 | 1, 2 a 3 |
0x0009 | 00000000 00001001 | 1 a 4 |
0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 a 7 |