2012-02-29 34 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並沒有指定會發生什麼。