Linux pthread_create():默认优先级和shceduling策略是什么

Linux pthread_create():默认优先级和shceduling策略是什么,linux,gcc,pthreads,nptl,Linux,Gcc,Pthreads,Nptl,HP手册页()显示 默认情况下,新线程的调度策略和优先级为 继承自创建线程,即默认情况下 pthread_create(3)例程忽略调度策略和优先级 在指定的线程属性对象中设置 受中设置的调度策略和优先级约束的线程 调用之前,指定的线程属性对象 pthread_create(3)您的程序必须使用 pthread_attr_setinheritsched(3)例程设置继承线程 属性对象的调度属性为PTHREAD_EXPLICIT_SCHED。“ 对于Linux posix线程(NPTL pthre

HP手册页()显示

默认情况下,新线程的调度策略和优先级为 继承自创建线程,即默认情况下 pthread_create(3)例程忽略调度策略和优先级 在指定的线程属性对象中设置 受中设置的调度策略和优先级约束的线程 调用之前,指定的线程属性对象 pthread_create(3)您的程序必须使用 pthread_attr_setinheritsched(3)例程设置继承线程
属性对象的调度属性为PTHREAD_EXPLICIT_SCHED。“

对于Linux posix线程(NPTL pthread),这是否成立

如果不是,影响使用pthread_create()创建的线程的优先级和调度策略的因素有哪些?

来自:

可以在inheritsched中指定以下值:

PTHREAD_INHERIT_SCHED 使用attr创建的线程从创建线程继承调度属性;attr中的调度属性将被忽略

PTHREAD_EXPLICIT_SCHED 使用attr创建的线程从attributes对象指定的值获取其调度属性

新初始化的thread attributes对象中的inherit scheduler属性的默认设置是PTHREAD_inherit_SCHED

因此,似乎与问题中描述的行为相同

实际上,我认为这样一个默认值可以由标准来定义(我承认,我在这方面没有太多经验),但看看本节的最后一行:

(…)其他调度属性的默认值由实现定义