pthread_attr_getschedpolicy 和 pthread_attr_setschedpolicy 子例程
用途
获取并设置 schedpolicy 属性 (REALTIME THREADS)。
语法
#include <pthread.h>
#include <time.h>
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr,
int *restrict policy);
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);描述
pthread_attr_getschedpolicy () 和 pthread_attr_setschedpolicy () 函数分别在 attr 自变量中获取和设置 schedpolicy 属性。
受支持的策略值包括在 <sched.h> 头中定义的 SCHED_FIFO , SCHED_RR 和 SCHED_OTHER。 当使用调度策略 SCHED_FIFO , SCHED_RR 或SCHED_零星执行的线程正在等待互斥对象时,它们会在互斥对象解锁时按优先级顺序获取互斥对象。
应用程序使用情况
设置这些属性后,可以使用 pthread_create ()创建具有指定属性的线程。 使用这些例程不会影响当前正在运行的线程。
返回值
如果成功,那么 pthread_attr_getschedpolicy () 和 pthread_attr_setschedpolicy () 函数返回 0; 否则,返回错误号以指示错误。
错误代码
在下列情况下, pthread_attr_setschedpolicy () 函数可能会失败:
| 项 | 描述 |
|---|---|
| EINVAL | policy 的值无效。 |
| ENOTSUP | 尝试将属性设置为不受支持的值。 |
这些函数不会返回错误代码 EINTR。