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 属性的值不受支持。 |