thread_setsched 内核服务
用途
设置内核线程调度参数。
语法
参数
| 项 | 描述 |
|---|---|
| tid | 指定内核线程。 |
| 优先级 (priority) | 指定优先级。 它必须在 0 到 PRI_LOW的范围 0; 0 是最受青睐的优先级。 |
| 策略 | 指定调度策略。 它必须具有下列其中一个值:
|
描述
thread_setsched 子例程用于设置内核线程的调度参数。 这同时包括在 优先级 和 政策 参数中指定的优先级和调度策略。 调用线程和目标线程必须在同一个进程中。
将调度策略设置为 其他模式时,系统会选择优先级; 优先级 参数将被忽略。 影响使用缺省调度策略的线程的优先级的唯一方法是更改进程的 nice 值。
调用线程必须属于一个具有 root 用户权限的进程,才能将线程的调度策略更改为 模式 FIFO, SCHED_FIFO2, SCHED_FIFO3或 模式 RR。
执行环境
thread_setsched 内核服务只能从 流程 环境中进行调用。
返回值
成功完成后,将返回 0。 否则,将返回 -1 并调用 getuerror 内核服务检查错误代码。
错误代码
| 项 | 描述 |
|---|---|
| EINVAL | 优先级 或 政策 参数是无效的。 |
| EPERM | 调用内核线程没有足够的特权来执行此操作。 |
| ESRCH | 该内核线程 标识 不存在。 |