Как установить приоритет потока в частных пулах в Windows? - PullRequest
1 голос
/ 17 декабря 2011

Я следую приведенным примерам здесь . Хотя я могу успешно создавать потоки, эти потоки имеют привязку по умолчанию ко всем процессам.

Как мне установить сродство? Может кто-нибудь предоставить пример того, как я могу использовать SetThreadAffinityMask с примерами, приведенными по ссылке выше?

1 Ответ

1 голос
/ 17 декабря 2011

Хорошо, я собираюсь предположить, что вы хотите близости. Второй параметр SetThreadAffinityMask - это битовая маска, представляющая, на каких процессорах разрешено запускать поток. Биты установлены в 1 на соответствующих процессорах. Например:

// binary 01, so it allows this thread to run on CPU 0
SetThreadAffinityMask(hThread, 0x01); 
// binary 10, so it allows this thread to run on CPU 1
SetThreadAffinityMask(hThread, 0x02); 
// binary 11, so it allows this thread to run on CPU 0 or CPU 1
SetThreadAffinityMask(hThread, 0x03); 
...