2012-02-29 26 views

回答

1

实时线程(即SCHED_RR)将始终抢占非实时线程(即SCHED_OTHER,即)。

换句话说,SCHED_OTHER线程只有在SCHED_RR线程被阻塞时才有机会运行。

+0

如果假设具有实时策略的线程持续更长时间,那么使用SCHED_OTHER策略的线程会发生什么情况? – Gughan 2012-02-29 11:00:53

+0

@Gughan:SCHED_OTHER线程等待实时线程放弃CPU。如果实时线程永不放弃CPU,则SCHED_OTHER线程永远不会有机会运行。 – janneb 2012-02-29 11:04:28

0

@janneb所说的POSIX的Linux实现是真实的。但由于这个问题也被标记posix,我引述POSIX 7 says about it

调度线程与在其他线程SCHED_FIFO,SCHED_RR下执行与系统SCHED_OTHER策略的影响,或SCHED_SPORADIC是实施-defined。

所以我可以从中解释的是,POSIX并没有指定会发生什么。