一 点睛
Linux调度策略可以分为3种
1 SCHED_OTHER:表示分时调度策略(也称轮转策略),是一种非实时调度策略,系统会为每一个线程分配一段运行时间,称为时间片。
2 SCHED_FILO:先来先服务策略,支持优先级抢占。CPU让一个先来的线程执行完再调度下一个线程,顺序就是按照创建线程的先后。线程一旦占用CPU就会一直运行,直到有更高级的任务达到或自己放弃CPU。
3 SCHED_RR:表示时间片轮转调度策略,但支持优先级抢占,因此也是一种实时调度策略。
二 代码
#include <stdio.h>
#include <unistd.h>
#include <sched.h>
int main()
{
printf("Valid priority range for SCHED_OTHER: %d - %d\n",
sched_get_priority_min(SCHED_OTHER),
sched_get_priority_max(SCHED_OTHER));
printf("Valid priority range for SCHED_FIFO: %d - %d\n",
sched_get_priority_min(SCHED_FIFO),
sched_get_priority_max(SCHED_FIFO));
printf("Valid priority range for SCHED_RR: %d - %d\n",
sched_get_priority_min(SCHED_RR),
sched_get_priori