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