在哪幾個網(wǎng)站里做自媒體賺錢seo常見優(yōu)化技術(shù)
本文介紹Linux和Windows操作系統(tǒng)線程調(diào)度策略。
不同的操作系統(tǒng)具有不同的線程調(diào)度策略,本文針對常見的操作系統(tǒng)(Linux和Windows操作系統(tǒng))對其線程調(diào)度策略作簡要說明,并不對其內(nèi)在運行機制作詳細介紹。
1.Linux操作系統(tǒng)線程調(diào)度策略
在Linux操作系統(tǒng)中,有以下幾種常見的調(diào)度策略:
SCHED_OTHER(標準調(diào)度策略):也稱為CFS(完全公平調(diào)度器),它使用時間片輪轉(zhuǎn)調(diào)度算法。線程的優(yōu)先級被忽略,所有線程被視為具有相同的優(yōu)先級。內(nèi)核根據(jù)CFS算法來公平地分配處理器時間。
SCHED_FIFO(先進先出調(diào)度策略):按照線程的優(yōu)先級順序執(zhí)行,直到線程自愿放棄CPU或被更高優(yōu)先級的線程搶占。較高優(yōu)先級的線程總是可以搶占較低優(yōu)先級的線程。
SCHED_RR(輪轉(zhuǎn)調(diào)度策略):類似于SCHED_FIFO,但線程被分配一個固定的時間片,當時間片用完后,線程會被放到就緒隊列的末尾,讓其他線程獲得執(zhí)行機會。也可以被更高優(yōu)先級的線程搶占。
其中,
1)SCHED_OTHER是分時調(diào)度策略,而SCHED_FIFO和SCHED_RR是實時調(diào)度策略
2)SCHED_FIFO和SCHED_RR的區(qū)別在于SCHED_FIFO一旦占有CPU則一直運行,直到有更高優(yōu)先級任務(wù)到達或自己放棄,而SCHED_RR則分配了一個固定的時間片運行
3)如果同時存在實時線程和分時線程,則實時線程先于普通線程運行
2.Windows操作系統(tǒng)線程調(diào)度策略
Windows操作系統(tǒng)采用基于優(yōu)先級的搶占式調(diào)度策略,依據(jù)優(yōu)先級和分配時間片來調(diào)度。Windows操作系統(tǒng)的調(diào)度總是運行優(yōu)先級最高的就緒線程,同一優(yōu)先級的各線程按時間片輪轉(zhuǎn)算法進行調(diào)度,如果一個高優(yōu)先級的線程進入就緒狀態(tài),當前運行的線程可能在用完它的時間片之前就被搶占。
總結(jié),本文介紹了Linux和Windows操作系統(tǒng)線程調(diào)度策略。