2009-08-06 2 views
1

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

Другими словами: существует ли API (для платформ Linux или Win32), позволяющий создать поток, связанный с конкретным ядром?

ответ

1

Обратите внимание, что Windows имеет возможности устанавливать аффинность процесса, но также и каждый из его потоков независимо. Linux предлагает только средства для определения близости процесса.

Для Windows функция процесса - SetProcessAffinityMask. Кроме того, Windows имеет понятие «идеального» процессора (SetThreadIdealProcessor), которое гораздо лучше использовать, если вы не знаете, что делаете (хотя понятие не работает в XP).

Смежные вопросы