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

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

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


person kakinada    schedule 07.04.2011    source источник


Ответы (1)


Вызов sched_setaffinity() специфичен для Linux, поэтому этот ответ применим и к нему.

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

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

person caf    schedule 15.04.2011