1.2. 线程调度策略
Linux 使用三个主要线程调度策略。
SCHED_OTHER(有时称为SCHED_NORMAL)这是默认的线程策略,具有由内核控制的动态优先级。优先级会根据线程活动更改。具有此策略的线程被视为实时优先级 0 (零)。
SCHED_FIFO(首先为 out)优先级范围为
1 - 99的实时策略,1为最低,99为最高。SCHED_FIFO线程的优先级始终高于SCHED_OTHER线程(例如,优先级为1的SCHED_FIFO线程将具有高于 任何SCHED_OTHER线程的优先级)。作为SCHED_FIFO线程创建的任何线程都具有固定优先级,并将运行,直到被优先级更高的线程阻止或抢占为止。SCHED_RR(Round-Robin)SCHED_RR是对SCHED_FIFO的修改。具有相同优先级的线程具有量子,并且在所有优先级SCHED_RR线程之间进行循环调度。此策略很少使用。