TALK一下SCHED_RR和SCHED_FIFO

來源:互聯網
上載者:User

標籤:pthread   sched_rr   sched_fifo   

我們在用pthread建立線程時,可以指定調度策略policy——SCHED_OTHER(預設)、SCHED_RR和SCHED_FIFO。這裡TALK一下兩個即時策略——SCHED_RR和SCHED_FIFO。

先看一下效果,我們建立了四個子線程,指定最高優先順序(針對特定策略):

  • SCHED_RR


  • SCHED_FIFO


對相同優先順序的任務,SCHED_RR是分配給每個任務一個特定的時間片,然後輪轉依次執行;而SCHED_FIFO則是讓一個任務執行完再調度下一個任務,而順序就是按照建立的先後。SCHED_RR是根據時間片來調度線程的,當時間片用完時,不管這個線程優先順序有多高,都不會在運行,而是進入就緒隊列,等待下一個時間片到來。 不過圖1顯示,在thread5798時間片用完時,該線程緊接著進行了一次搶佔preemption,又獲得了一個時間片。順便提一句時間片長度的定位是linux憑經驗來的,即選擇儘可能長、同時能保持良好相應時間的一個時間片。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.