Process.ProcessorAffinity Właściwość

Definicja

Pobiera lub ustawia procesory, na których można zaplanować uruchamianie wątków w tym procesie.

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

Wartość właściwości

IntPtr

nativeint

Maska bitowa reprezentująca procesory, na których mogą działać wątki skojarzonego procesu. Wartość domyślna zależy od liczby procesorów na komputerze. Wartość domyślna to 2 n -1, gdzie n to liczba procesorów.

Atrybuty

Wyjątki

ProcessorAffinity Nie można ustawić ani pobrać informacji ze skojarzonego zasobu procesu.

-lub-

Identyfikator procesu lub uchwyt procesu to zero. (Proces nie został uruchomiony).

Próbujesz uzyskać dostęp do ProcessorAffinity właściwości dla procesu uruchomionego na komputerze zdalnym. Ta właściwość jest dostępna tylko dla procesów uruchomionych na komputerze lokalnym.

Proces Id był niedostępny.

-lub-

Proces zakończył się.

Uwagi

Wartość zwrócona przez tę właściwość reprezentuje ostatnio odświeżone koligację procesu. Aby uzyskać najbardziej aktualną koligację, należy najpierw wywołać Refresh() metodę.

W systemie Windows 2000 lub nowszym wątek w procesie może migrować z procesora do procesora, a każda migracja ponownie ładuje pamięć podręczną procesora. W przypadku ciężkich obciążeń systemowych określenie, który procesor powinien uruchomić określony wątek, może zwiększyć wydajność, zmniejszając liczbę ponownych ładowania pamięci podręcznej procesora. Skojarzenie między procesorem a wątkiem jest nazywane koligacją procesora.

Każdy procesor jest reprezentowany jako bit. Bit 0 to procesor jeden, bit 1 to procesor dwa i tak dalej. Jeśli ustawisz bit na wartość 1, odpowiedni procesor zostanie wybrany do przypisania wątku. Po ustawieniu ProcessorAffinity wartości na zero algorytmy planowania systemu operacyjnego ustawiają koligację wątku. Gdy ProcessorAffinity wartość jest ustawiona na dowolną wartość niezerową, wartość jest interpretowana jako maska bitowa określająca te procesory kwalifikujące się do wyboru.

W poniższej tabeli przedstawiono wybór ProcessorAffinity wartości dla systemu ośmioprocesorowego.

Maski Wartość binarna Kwalifikujące się procesory
0x0001 00000000 00000001 1
0x0003 00000000 00000011 1 i 2
0x0007 00000000 00000111 1, 2 i 3
0x0009 00000000 00001001 1 i 4
0x007F 00000000 01111111 1, 2, 3, 4, 5, 6 i 7

Dotyczy