多线程编程指南

设置调度策略

请使用 pthread_attr_setschedpolicy(3C) 设置调度策略。POSIX 标准指定 SCHED_FIFO(先入先出)、SCHED_RR(循环)或 SCHED_OTHER(实现定义的方法)的调度策略属性。

pthread_attr_setschedpolicy(3C) 语法

int	pthread_attr_setschedpolicy(pthread_attr_t *tattr, int policy);
#include <pthread.h>



pthread_attr_t tattr;

int policy;

int ret;



/* set the scheduling policy to SCHED_OTHER */

ret = pthread_attr_setschedpolicy(&tattr, SCHED_OTHER);

SCHED_FIFOSCHED_RR 在 POSIX 标准中是可选的,而且仅用于实时线程。

有关调度的论述,请参见线程调度一节。

pthread_attr_setschedpolicy 返回值

pthread_attr_setschedpolicy() 成功完成后将返回零。其他任何返回值都表示出现了错误。如果出现以下任一情况,该函数将失败并返回对应的值。


EINVAL

描述:

尝试将 tattr 设置为无效的值。


ENOTSUP

描述:

尝试将该属性设置为不受支持的值。