Sdílet prostřednictvím


Process.ProcessorAffinity Vlastnost

Definice

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

IntPtr

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.

Proces Id nebyl k dispozici.

-nebo-

Proces byl ukončen.

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

Platí pro