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
Значение свойства
nativeint
Битовая маска, представляющая процессоры, на которых могут выполняться потоки связанного процесса. По умолчанию маска зависит от числа процессоров в компьютере. Значение по умолчанию — 2 n –1, где n — количество процессоров.
- Атрибуты
Исключения
Не удается задать или получить сведения о ProcessorAffinity от связанного ресурса процесса.
-или-
Идентификатор процесса или дескриптор процесса равен нулю. (Процесс не был запущен.)
Вы пытаетесь получить доступ к свойству ProcessorAffinity процесса, выполняющегося на удаленном компьютере. Это свойство доступно только для процессов, запущенных на локальном компьютере.
Комментарии
Значение, возвращаемое этим свойством, представляет последнее обновленное сходство процесса. Чтобы получить актуальные сведения о сходстве, необходимо сначала вызвать 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 |