Поделиться через


Process.ProcessorAffinity Свойство

Определение

Получает или задает процессоры, на которых может быть запланировано выполнение потоков данного процесса.

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

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

IntPtr

nativeint

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

Атрибуты

Исключения

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

-или-

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

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

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

-или-

Процесс завершен.

Комментарии

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

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

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

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

Битовой маски Двоичное значение Подходящие процессоры
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

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