#c #multithreading #winapi
#c #многопоточность #winapi
Вопрос:
Я хотел знать, существует ли Windows API, который сообщал бы мне текущую группу процессоров, назначенную моему приложению. В моей машине у меня в настоящее время есть две группы процессоров. Я хотел знать, на какой группе процессоров программно запущено мое приложение
Комментарии:
1. Я не уверен, но, возможно, вы найдете что-то полезное здесь:
GetProcessAffinityMask
и здесь: Группы процессоров2. @TedLyngmo спасибо. Я посмотрел на это, и, к сожалению, это мне не очень поможет. У меня нет никакого способа определить ассоциацию процессоров с группой.
3. Вы видели ссылку на
GetProcessGroupAffinity
«похоронен там»? Кажется, он делает то, что вы хотите.4. Близко к тому, что вы хотите, это функция GetProcessAffinityMask . Он возвращает вам маску, которая показывает, на каких процессорах разрешено запускать приложение.
5. @zx485 это не указывает, какой процессор назначен какой группе.
Ответ №1:
Используется GetProcessGroupAffinity()
для определения группы (групп) процессоров, которым в данный момент назначен процесс. Процесс может быть назначен нескольким группам одновременно, поскольку привязка к процессору устанавливается для каждого потока, и процесс может иметь несколько потоков.
Используется GetThreadGroupAffinity()
для определения группы процессоров, которой в данный момент назначен поток.