Java 中用到的線程調度算法是什么?


計算機通常只有一個 CPU,在任意時刻只能執行一條機器指令,每個線程只有獲得 

CPU 的使用權才能執行指令.所謂多線程的並發運行,其實是指從宏觀上看,各個線 

程輪流獲得 CPU 的使用權,分別執行各自的任務.在運行池中,會有多個處於就緒狀 

態的線程在等待 CPU,JAVA 虛擬機的一項任務就是負責線程的調度,線程調度是指 

按照特定機制為多個線程分配 CPU 的使用權.

有兩種調度模型分時調度模型和搶占式調度模型

分時調度模型是指讓所有的線程輪流獲得 cpu 的使用權,並且平均分配每個線程占 

用的 CPU 的時間片這個也比較好理解

java 虛擬機采用搶占式調度模型是指優先讓可運行池中優先級高的線程占用 

CPU,如果可運行池中的線程優先級相同那么就隨機選擇一個線程使其占用 

CPU。處於運行狀態的線程會一直運行直至它不得不放棄 CPU。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM