更新時間:2022-09-26 09:51:18 來源:動力節點 瀏覽1673次
java的進程調度算法是什么?小編來告訴大家。
Process(進程類),主要用來實例化各個不同的進程
ProcessBlock(進程控制塊類),用來為每個進程分配PCB,該類實例化后為進程類的類成員變量
ProcessControl(進程控制類),為主類,用來調度進程。
其中,在進程調度中,聲明了三個隊列,分別為待插入進程隊列(按到達時間從小到大排序),就緒隊列(按優先級從大到小排序,按照到達時間先后進行排序),完成隊列。都ArrayList類型變量。
程序開始時隨機為初始化5個進程(程序太多不容易觀察運行結果)
聲明時間變量t,while循環下調度程序一直運行,每運行一次,t++
然后循環判斷待插入隊列隊首進程是否到達,若到達,則將該進程插入到就緒隊列中,并從待插入隊列刪除該進程;若沒有到達,則從該循環中跳出
然后從就緒隊列中取出隊首進程并分配時間片。當該進程時間片用完后,判斷該進程是否已經完成,若完成,則將該進程插入到完成隊列;若沒有完成,則將該進程的優先級減一并重新插入到就緒隊列中
一直重復該循環,一直到待插入隊列和就緒隊列都為空為止
通過上述介紹,相信大家對什么是Java進程調度算法已經有所了解,大家如果想了解更多相關知識,不妨來關注一下本站的Java多線程編程,里面有更豐富的知識等著大家去學習,相信對大家一定會有所幫助的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習