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