我的日程安排策略是SCHED_OTHER。使用setpriority()更改nice值是否有任何影响。
当我使用它时,我看不出有什么不同。
最佳答案
答案是否定的。在这种情况下,setpriority不应该影响进程。根据文件:
http://linux.die.net/man/3/setpriority
>使用SCHED_FIFO或SCHED_RR的任何进程或线程都不受setpriority()调用的影响。这不认为是错误。随后还原为SCHED_OTHER的进程不必受此类setpriority()调用的影响。
我很抱歉,但是仔细阅读了这篇文章:
SCHED_OTHER:默认Linux分时调度
SCHED_OTHER只能在静态优先级为0时使用。其他的是
面向所有用户的标准Linux分时调度程序
不需要特殊实时机制的线程。这个
要运行的线程是基于
仅在此列表中确定的动态优先级。这个
动态优先级基于nice值(由nice(2)设置),
setpriority(2)或sched_setattr(2))并每次增加
quantum线程已准备好运行,但被拒绝运行
调度程序。这确保了所有SCHED_其他线程之间的公平进程。
因此,线程的动态优先级受set priority调用的影响,它应该导致调度的更改(取决于调用中设置的新优先级值)。
关于c - 如果我的调度策略是SCHED_OTHER,则使用setpriority()是否会产生任何影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32719705/