當前位置:編程學習大全網 - 源碼下載 - Java調度源代碼

Java調度源代碼

Public:類特權進程{

男* * *靜態無效主(string [] args){

MyQueue的新MyQueue的();//聲明隊列

印刷電路板[PCB = {新PCB (001,8,1),新PCB(002,7,9),新PCB(003,3,8),新PCB(004,1,7),新PCB。

& gtPCB段=新PCB();

(INT I = 0;& ltpcb .長度;++){//先初始化排序,選擇排序。這裏用的是優先級高的壹線隊。

(J =我;& ltpcb .長度;J + +){

(多氯聯苯[壹]).特權

segment = PCB[1];

PCB[I]= PCB[J];

PCB[J]= segment;

}

}

}

系統。通過out.println("加入隊列後第壹次的進程順序:");

(INT I = 0;& ltpcb .長度;+ +){

System.out調用println(第壹個入隊#程序名:"+PCB [me]"。Name+totaltime:"+ PCB [I] I]。total time+的特權+PCB [me]。特權);}

();

my queue . start(PCB);

}

}

類MyQueue的{

INT index = 0;

PCB [] PC =新PCB[5];

PCB [] PC1 =新PCB[4];

PCB溫度=新PCB() BR />公共* * *無效排隊(PCB進程){//排隊算法

(指數== 5){

(“出界!”);

返回

}

PC [index] =進程;

指數++;

}

男* * *:PCB dequeue(){//出列算法(index == 0)

返回null

(INT I = 0;& ltPC 1 . length;+ +){

PC 1[I]= PC[+1];

}

索引-

溫度= PC[0];

(INT I = 0;& ltPC 1 . length;+ +){ BR />PC[I]= PC 1[I];

}

退貨條件;

}

無效啟動(PCB[]PC){//進程表算法

(PC [0].IsNotFinish = = true | | PC[1 IsNotFinish = = true | | PC[2 IsNotFinish = = true | | PC]。當isNotFinish == true | | PC [4]。isNotFinish ==){

//*註意:||運算符全部為假,所有表達式結果為假,否則為真。

(INT I = 0;& ltPC長度;+ +){

PC [I].跑(這個);/& gt;}的system . out . println();

(INT I = 0;& ltpc .長度;++){//處理運行壹次的每個時間片的長度。先重新訂購壹次。

(J =我;& ltpc .長度;J + +){

If (PC [I]特權

溫度= PC[I];

PC[I]= PC[J];

PC [J] =溫度;

}

}

}

}

}

}

PCB類{//聲明進程級別。

和int name,totaltime,運行時特權;

Boolean isNotFinish

公共PCB(){

}

暴露PCB(名稱,totaltime特權的解釋){

this.name =的名稱;//進程名稱

this . total time = total time;/ /

This.privilege =特權;//總時間優先this . runtime = 2;//時間片值為2

This.isNotFinish = true//執行是否完成?

(“初始值:程序名:“+name+”+“total time:“+total time+”privilege”+privilege);

體制外的。調用println();

}

壹種基於MyQueue的MQ無效run(){//處理的時間片算法。

(總時間& gt1){ total time = run;//總時間大於1,總時間=總時間-時間片。

特權-

(“程序名稱:“+名稱+”剩余時間:“++”特權“+特權”);總時間

Elseif (totaltime = = 1) {

total time-;//總時間為1時,執行時間為1。

& gt特權-

(“程序名:"+名稱+"+"剩余時間:"+總時間+時間+"特權"+特權);

}其他{

IsNotFinish = false//0,將isNotFinish標誌設置為false。

}

if(isNotFinish = = true){ br MQ . dequeue();

MQ . enqueue(Ben);

}

}

}

  • 上一篇:如何查看我上網的IP地址?
  • 下一篇:我發現在頭條,寫文章的不如發圖片的,發圖片的不如拍視頻的,大家覺得呢?
  • copyright 2024編程學習大全網