Process.ProcessorAffinity Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.
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 |