您好,登錄后才能下訂單哦!
這篇“Java進(jìn)程調(diào)度算法的概念是什么”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java進(jìn)程調(diào)度算法的概念是什么”文章吧。
Process(進(jìn)程類),主要用來實(shí)例化各個(gè)不同的進(jìn)程
ProcessBlock(進(jìn)程控制塊類),用來為每個(gè)進(jìn)程分配PCB,該類實(shí)例化后為進(jìn)程類的類成員變量
ProcessControl(進(jìn)程控制類),為主類,用來調(diào)度進(jìn)程。
其中,在進(jìn)程調(diào)度中,聲明了三個(gè)隊(duì)列,分別為待插入進(jìn)程隊(duì)列(按到達(dá)時(shí)間從小到大排序),就緒隊(duì)列(按優(yōu)先級(jí)從大到小排序,按照到達(dá)時(shí)間先后進(jìn)行排序),完成隊(duì)列。都ArrayList類型變量。
程序開始時(shí)隨機(jī)為初始化5個(gè)進(jìn)程(程序太多不容易觀察運(yùn)行結(jié)果)
聲明時(shí)間變量t,while循環(huán)下調(diào)度程序一直運(yùn)行,每運(yùn)行一次,t++
然后循環(huán)判斷待插入隊(duì)列隊(duì)首進(jìn)程是否到達(dá),若到達(dá),則將該進(jìn)程插入到就緒隊(duì)列中,并從待插入隊(duì)列刪除該進(jìn)程;若沒有到達(dá),則從該循環(huán)中跳出
然后從就緒隊(duì)列中取出隊(duì)首進(jìn)程并分配時(shí)間片。當(dāng)該進(jìn)程時(shí)間片用完后,判斷該進(jìn)程是否已經(jīng)完成,若完成,則將該進(jìn)程插入到完成隊(duì)列;若沒有完成,則將該進(jìn)程的優(yōu)先級(jí)減一并重新插入到就緒隊(duì)列中
一直重復(fù)該循環(huán),一直到待插入隊(duì)列和就緒隊(duì)列都為空為止
以上就是關(guān)于“Java進(jìn)程調(diào)度算法的概念是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。