Process.ProcessorAffinity Свойство

Определение

Возвращает или задает процессоры, на которых можно запланировать запуск потоков в этом процессе.

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

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

IntPtr

nativeint

Битовая маска, представляющая процессоры, на которые могут выполняться потоки в связанном процессе. Значение по умолчанию зависит от количества процессоров на компьютере. Значение по умолчанию — 2 n -1, где n — это число процессоров.

Атрибуты

Исключения

ProcessorAffinity сведения не могут быть заданы или получены из связанного ресурса процесса.

–или–

Идентификатор процесса или дескриптор процесса равен нулю. (Процесс не запущен.)

Вы пытаетесь получить доступ к свойству ProcessorAffinity для процесса, работающего на удаленном компьютере. Это свойство доступно только для процессов, выполняемых на локальном компьютере.

Id Процесс недоступен.

–или–

Процесс завершился.

Комментарии

Значение, возвращаемое этим свойством, представляет последнее обновление сопоставления процесса. Чтобы получить наиболее актуальное сходство, сначала необходимо вызвать Refresh() метод.

В Windows 2000 и более поздних версиях поток в процессе может перенестися с процессора на процессор, при каждой перезагрузке кэша процессора. При тяжелых системных нагрузках, указывая, какой процессор должен запускать определенный поток, может повысить производительность, уменьшая время перезагрузки кэша процессора. Связь между процессором и потоком называется сходством процессора.

Каждый процессор представлен как бит. Бит 0 — процессор один, бит 1 — процессор два, и т. д. Если задано значение 1, соответствующий процессор выбирается для назначения потока. При задании ProcessorAffinity значения равно нулю алгоритмы планирования операционной системы задают сходство потока. ProcessorAffinity Если для значения задано любое ненулевое значение, значение интерпретируется как битовая маска, указывающая эти процессоры, подходящие для выбора.

В следующей таблице показан выбор значений ProcessorAffinity для восьмипроцессорной системы.

Bitmask Двоичное значение Подходящие процессоры
0x0001 00000000 00000001 1
0x0003 00000000 00000011 1 и 2
0x0007 00000000 00000111 1, 2 и 3
0x0009 00000000 00001001 1 и 4
0x007F 00000000 01111111 1, 2, 3, 4, 5, 6 и 7

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