Process.ProcessorAffinity Właściwość

Definicja

Pobiera lub ustawia procesory, w których można zaplanować uruchamianie wątków w tym procesie.Gets or sets the processors on which the threads in this process can be scheduled to run.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr

Wartość właściwości

IntPtr

Maska bitów reprezentująca procesory, na których mogą działać wątki w skojarzonym procesie.A bitmask representing the processors that the threads in the associated process can run on. Wartość domyślna zależy od liczby procesorów w komputerze.The default depends on the number of processors on the computer. Wartość domyślna to 2 n -1, gdzie n jest liczbą procesorów.The default value is 2 n -1, where n is the number of processors.

Wyjątki

ProcessorAffinity nie można ustawić lub pobrać informacji ze skojarzonego zasobu procesu.ProcessorAffinity information could not be set or retrieved from the associated process resource.

-lub--or- Identyfikator procesu lub uchwyt procesu to zero.The process identifier or process handle is zero. (Proces nie został uruchomiony).(The process has not been started.)

Próbujesz uzyskać dostęp do ProcessorAffinity właściwości dla procesu, który jest uruchomiony na komputerze zdalnym.You are attempting to access the ProcessorAffinity property for a process that is running on a remote computer. Ta właściwość jest dostępna tylko dla procesów, które są uruchomione na komputerze lokalnym.This property is available only for processes that are running on the local computer.

Proces Id był niedostępny.The process Id was not available.

-lub--or- Proces został zakończony.The process has exited.

Uwagi

Wartość zwrócona przez tę właściwość oznacza ostatnio odświeżoną koligację procesu.The value returned by this property represents the most recently refreshed affinity of the process. Aby uzyskać najbardziej aktualne koligacje, należy Refresh() najpierw wywołać metodę.To get the most up to date affinity, you need to call Refresh() method first.

W systemie Windows 2000 i nowszych wątek w procesie może być migrowany z procesora do procesora, podczas gdy każda migracja ponownie ładuje pamięć podręczną procesora.In Windows 2000 and later, a thread in a process can migrate from processor to processor, with each migration reloading the processor cache. W obszarze duże obciążenia systemu, określając, który procesor powinien uruchamiać określony wątek, można zwiększyć wydajność, zmniejszając liczbę ponownych prób załadowania pamięci podręcznej procesora.Under heavy system loads, specifying which processor should run a specific thread can improve performance by reducing the number of times the processor cache is reloaded. Skojarzenie między procesorem a wątkiem jest nazywane koligacją procesora.The association between a processor and a thread is called the processor affinity.

Każdy procesor jest reprezentowany jako bit.Each processor is represented as a bit. Bit 0 to procesor jeden, bit 1 to procesor dwa itd.Bit 0 is processor one, bit 1 is processor two, and so forth. Jeśli ustawisz bit na wartość 1, odpowiedni procesor jest wybierany do przypisania wątku.If you set a bit to the value 1, the corresponding processor is selected for thread assignment. Po ustawieniu ProcessorAffinity wartości na zero algorytmy planowania systemu operacyjnego ustawiają koligację wątku.When you set the ProcessorAffinity value to zero, the operating system's scheduling algorithms set the thread's affinity. Gdy ProcessorAffinity wartość jest ustawiona na dowolną wartość różną od zera, wartość jest interpretowana jako maska bitowa, która określa te procesory kwalifikujące się do wyboru.When the ProcessorAffinity value is set to any nonzero value, the value is interpreted as a bitmask that specifies those processors eligible for selection.

W poniższej tabeli przedstawiono wybór ProcessorAffinity wartości dla systemu ośmiu procesorów.The following table shows a selection of ProcessorAffinity values for an eight-processor system.

Maska bitówBitmask Wartość binarnaBinary value Kwalifikujące się procesoryEligible processors
0x00010x0001 00000000 0000000100000000 00000001 11
0x00030x0003 00000000 0000001100000000 00000011 1 i 21 and 2
0x00070x0007 00000000 0000011100000000 00000111 1, 2 i 31, 2 and 3
0x00090x0009 00000000 0000100100000000 00001001 1 i 41 and 4
0x007F0x007F 00000000 0111111100000000 01111111 1, 2, 3, 4, 5, 6 i 71, 2, 3, 4, 5, 6 and 7

Dotyczy