pthread_create(): что такое приоритет по умолчанию и политика планирования
На странице руководства HP ( ссылка) написано
"По умолчанию политика планирования и приоритет нового потока наследуются от потока создания, то есть по умолчанию процедура pthread_create(3) игнорирует политику планирования и приоритет, установленные в указанном объекте атрибутов потока. Таким образом, для создания поток, который подчиняется политике планирования и приоритетам, установленным в указанном объекте атрибутов потока, перед вызовом pthread_create(3) ваша программа должна использовать процедуру pthread_attr_setinheritsched(3) для установки потока наследования
приписывает атрибут планирования объекта PTHREAD_EXPLICIT_SCHED."
Это верно для Linux Posix Thread (NPTL pthread)?
Если нет, каковы факторы, влияющие на приоритет и политику планирования потока, созданного с помощью pthread_create()?
1 ответ
Следующие значения могут быть указаны в унаследованном:
PTHREAD_INHERIT_SCHED Потоки, созданные с помощью attr, наследуют атрибуты планирования из создаваемого потока; атрибуты планирования в attr игнорируются.
PTHREAD_EXPLICIT_SCHED Потоки, созданные с помощью attr, берут свои атрибуты планирования из значений, указанных объектом атрибутов.
Значением по умолчанию атрибута наследования планировщика в недавно инициализированном объекте атрибутов потока является PTHREAD_INHERIT_SCHED.
Так что, похоже, такое же поведение, как описано в вопросе.
На самом деле я бы подумал, что такое значение по умолчанию может быть определено стандартом (хотя я и признаю, не имея такого большого опыта с этим), но глядя на последнюю строку раздела Атрибуты планирования потоков:
(...) Значения по умолчанию для других атрибутов планирования определяются реализацией.