pthread_attr_setschedparam 子例程

用途

设置线程属性对象的 schedparam 属性的值。

线程库 (libpthreads.a)

语法

#include <pthread.h>
#include <sys/sched.h>

int pthread_attr_setschedparam (attr, schedparam)
pthread_attr_t *attr;
const struct sched_param *schedparam;

描述

pthread_attr_setschedparam 子例程设置线程属性对象 attr的 schedparam 属性的值。 schedparam 属性指定使用此属性对象创建的线程的调度参数。 该sched_prioritysched_param 结构的字段包含线程的优先级。

注: pthread.h 头文件必须是使用线程库的每个源文件的第一个包含文件。 否则,应使用 -D_THREAD_SAFE 编译标志,或使用 cc_r 编译器。 在这种情况下,会自动设置标志。

参数

描述
attr 指定线程属性对象。
schedparam 指向要设置的调度参数的存储位置。 该sched_priority字段必须在从 1 到 127 的范围内,其中 1 是最不青睐的优先级,而 127 是最青睐的优先级。

返回值

成功完成后,将返回 0。 否则,将返回错误代码。

错误代码

如果以下情况成立,那么 pthread_attr_setschedparam 子例程不成功:

描述
EINVAL attr 参数无效。
ENOSYS 未实现优先级调度 POSIX 选项。
ENOTSUP schedparam 属性的值不受支持。