setpriority
相关函数:getpriority, nice头文件:#include <sys/time.h> #include <sys/resource.h>
定义函数:int setpriority(int which, int who, int prio);
函数说明:setpriority()可用来设置进程、进程组和用户的进程执行优先权。参数which 有三种数值, 参数who 则依which 值有不同定义。
which who 代表的意义:
1、PRIO_PROCESS who 为进程识别码
2、PRIO_PGRP who 为进程的组识别码
3、PRIO_USER who 为用户识别码
参数prio 介于-20 至20 之间. 代表进程执行优先权, 数值越低代表有较高的优先次序, 执行会较频繁. 此优先权默认是0, 而只有超级用户 (root)允许降低此值.
返回值:
执行成功则返回0, 如果有错误发生返回值则为-1, 错误原因存于errno.
1、ESRCH:参数which 或who 可能有错, 而找不到符合的进程
2、EINVAL:参数which 值错误.
3、EPERM:权限不够, 无法完成设置
4、EACCES:一般用户无法降低优先权
相关阅读
linux利用setpriority调整线程优先级,测试优先级对线程
以下测试是为了验证setpriority函数对线程是否有效,理论上linux kernel是不区分调度是不区分线程和进程的。用户线程和进程的区别
1 . 优先级表示重要程度或者紧急程度.但是能不能抢到资源也是不一定. 2 . 分配优先级:反映线程的重要或紧急程度 线程的优先级用1~1
Thread的setPriority()设置优先级源代码分析(5)
接上一篇:Thread的SetDeamon()守护线程源代码分析(4) 我们知道线程在执行start()之后,如果没有cpu执行权的话,它是在runnable状态,而
java:多线程(设置线程的优先级-setPriority())
* setPriority()设置线程的优先级 public class Demo7_Priority { public static void main(String[] args) { Thread t1=ne