если я выполняю sched_setaffinity в процессе, затрагиваются ли потоки, порожденные им

#pthreads #affinity

#pthreads #сходство

Вопрос:

Если я сделаю это: CreateThreads, установлю sched_affinity в CPU 0, то будут ли все потоки также иметь привязку к CPU 0, Если вместо этого я изменю последовательность действий, т. Е. сначала установлю sched_affinity, а затем создам потоки, будут ли потоки иметь привязку

Я создаю потоки, используя библиотеку pthreads. Спасибо за любые ответы

Ответ №1:

sched_setaffinity() Вызов зависит от Linux, поэтому этот ответ применим там.

Вызов sched_setaffinity() влияет только на один поток. Поток, созданный с помощью pthread_create() , наследует маску привязки к процессору своего родителя.

Это означает, что если вы измените привязку текущего потока после создания других потоков, их привязка останется по умолчанию; но если вы сделаете это в обратном порядке, они унаследуют измененный набор привязок.