Process.ProcessorAffinity Свойство

Определение

Получает или задает процессоры, на которых может быть запланировано выполнение потоков данного процесса.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

Значение свойства

IntPtr

Битовая маска, представляющая процессоры, на которых могут выполняться потоки связанного процесса.A bitmask representing the processors that the threads in the associated process can run on. По умолчанию маска зависит от числа процессоров в компьютере.The default depends on the number of processors on the computer. Значение по умолчанию — 2 n – 1, где n — число процессоров.The default value is 2 n -1, where n is the number of processors.

Исключения

Не удается задать или получить сведения о ProcessorAffinity от связанного ресурса процесса.ProcessorAffinity information could not be set or retrieved from the associated process resource.

-или--or- Идентификатор процесса или дескриптор процесса равен нулю.The process identifier or process handle is zero. (Процесс не был запущен.)(The process has not been started.)

Вы пытаетесь получить доступ к свойству ProcessorAffinity процесса, выполняющегося на удаленном компьютере.You are attempting to access the ProcessorAffinity property for a process that is running on a remote computer. Это свойство доступно только для процессов, запущенных на локальном компьютере.This property is available only for processes that are running on the local computer.

Процесс Id недоступен.The process Id was not available.

-или--or- Процесс завершен.The process has exited.

Комментарии

Значение, возвращаемое этим свойством, представляет самое последнее обновленное сходство процесса.The value returned by this property represents the most recently refreshed affinity of the process. Чтобы получить наиболее актуальное соответствие, необходимо Refresh() сначала вызвать метод.To get the most up to date affinity, you need to call Refresh() method first.

В Windows 2000 и более поздних версиях поток процесса может переноситься с процессора на процессор, при этом каждый процесс миграции перезагружает кэш процессора.In Windows 2000 and later, a thread in a process can migrate from processor to processor, with each migration reloading the processor cache. При высоких нагрузках на систему указание того, какой процессор должен запустить конкретный поток, может повысить производительность, уменьшая количество раз, когда кэш процессора перезагружается.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. Связь между процессором и потоком называется сходством процессоров.The association between a processor and a thread is called the processor affinity.

Каждый процессор представляется в виде бита.Each processor is represented as a bit. Бит 0 — первый процессор, бит 1 — второй процессор и т. д.Bit 0 is processor one, bit 1 is processor two, and so forth. Если установить бит равным значению 1, соответствующий процессор будет выбран для назначения потоков.If you set a bit to the value 1, the corresponding processor is selected for thread assignment. Если ProcessorAffinity значение равно нулю, то алгоритмы планирования операционной системы устанавливают сходство потока.When you set the ProcessorAffinity value to zero, the operating system's scheduling algorithms set the thread's affinity. Если ProcessorAffinity значение равно любому ненулевому значению, оно интерпретируется как битовая маска, указывающая, какие процессоры могут быть выбраны для выбора.When the ProcessorAffinity value is set to any nonzero value, the value is interpreted as a bitmask that specifies those processors eligible for selection.

В следующей таблице приведены ProcessorAffinity значения для системы из восьми процессоров.The following table shows a selection of ProcessorAffinity values for an eight-processor system.

БитовыеBitmask Двоичное значениеBinary value Подходящие процессорыEligible processors
0x00010x0001 00000000 0000000100000000 00000001 11
0x00030x0003 00000000 0000001100000000 00000011 1 и 21 and 2
0x00070x0007 00000000 0000011100000000 00000111 1, 2 и 31, 2 and 3
0x00090x0009 00000000 0000100100000000 00001001 1 и 41 and 4
0x007F0x007F 00000000 0111111100000000 01111111 1, 2, 3, 4, 5, 6 и 71, 2, 3, 4, 5, 6 and 7

Применяется к