#pthreads #affinity
#pthreads #сходство
Вопрос:
Если я сделаю это: CreateThreads, установлю sched_affinity в CPU 0, то будут ли все потоки также иметь привязку к CPU 0, Если вместо этого я изменю последовательность действий, т. Е. сначала установлю sched_affinity, а затем создам потоки, будут ли потоки иметь привязку
Я создаю потоки, используя библиотеку pthreads. Спасибо за любые ответы
Ответ №1:
sched_setaffinity()
Вызов зависит от Linux, поэтому этот ответ применим там.
Вызов sched_setaffinity()
влияет только на один поток. Поток, созданный с помощью pthread_create()
, наследует маску привязки к процессору своего родителя.
Это означает, что если вы измените привязку текущего потока после создания других потоков, их привязка останется по умолчанию; но если вы сделаете это в обратном порядке, они унаследуют измененный набор привязок.