Влияние sched_setaffinity() на новые потоки

Влияет ли sched_setaffinity() при вызове из основного процесса на работающее ядро, на котором из этого запущенного процесса создаются новые потоки?

Из того, что я вижу, все потоки, созданные после вызова sched_setaffinity(), всегда создаются на том же ядре, на котором был настроен запуск основного процесса. Могу ли я рассчитывать на то, что это произойдет каждый раз при выполнении программы?

Гарантируется ли в следующем псевдокоде, что threadA, threadB и threadC всегда будут работать на одном и том же ядре?

int main()
{
   sched_setaffinity(...);
   threadA = std::thread();
   threadB = std::thread();
   threadC = std::thread();
}

person Yaniv G    schedule 20.06.2021    source источник
comment
Что такое sched_setaffinnnity?   -  person eerorika    schedule 20.06.2021
comment
@eerorika : linux.die.net/man/2/sched_setaffinity   -  person selbie    schedule 20.06.2021
comment
Краткий ответ: да. Потоки уважают родство родительского процесса.   -  person selbie    schedule 20.06.2021