Process.ProcessorAffinity Vlastnost

Definice

Získá nebo nastaví procesory, na kterých mohou být vlákna v tomto procesu naplánována ke spuštění.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
public IntPtr ProcessorAffinity { get; set; }
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
member this.ProcessorAffinity : nativeint with get, set
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 se můžou spouštět vlákna v přidruženém procesu. Výchozí nastavení 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 informace nelze nastavit nebo načíst z přidruženého prostředku procesu.

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 spuštěný ve 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 se ukončil.

Poznámky

Hodnota vrácená touto vlastností představuje naposledy aktualizované spřažení procesu. Pokud chcete získat nejaktuálnější spřažení, musíte nejprve volat Refresh() metodu.

V Windows 2000 a novějších může vlákno v procesu migrovat z procesoru na procesor, přičemž každá migrace znovu načte mezipaměť procesoru. Při vysokém zatížení systému můžete určit, který procesor by měl spustit konkrétní vlákno, zvýšit výkon snížením počtu opětovného načtení mezipaměti procesoru. Přidružení mezi procesorem a vláknem se nazývá spřažení procesoru.

Každý procesor je reprezentován jako bit. Bit 0 je procesor jeden, bit 1 je procesor dva a tak dále. Pokud nastavíte bit na hodnotu 1, je pro přiřazení vlákna vybrán odpovídající procesor. Když nastavíte hodnotu na nulu ProcessorAffinity , algoritmy plánování operačního systému nastaví spřažení vlákna. ProcessorAffinity Pokud je hodnota nastavena na libovolnou nenulovou hodnotu, tato hodnota se interpretuje jako bitová maska, která určuje procesory, které mají nárok na výběr.

Následující tabulka ukazuje výběr hodnot pro systém osmi procesorů ProcessorAffinity .

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