1.2. 线程调度策略
Linux 使用三个主要线程调度策略。
SCHED_OTHER
(有时称为SCHED_NORMAL
)这是默认的线程策略,并由内核控制动态优先级。优先级根据线程活动进行更改。具有此策略的线程被视为具有实时优先级 0(零)。
SCHED_FIFO
(最初为先出)优先级范围为
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
线程之间的轮循程序。此策略很少使用。