1
作者:
张先森
,
2023-11-10 11:57:31
,
所有人可见
,
阅读 72
import java.util.PriorityQueue;
import java.util.Iterator;
import java.util.Array;
public class Main{
public static void main(String args[]) {
process p0 = new process(0,9,0,3);
process p1 = new process(1,38,0,2);
process p2 = new process(2,30,0,6);
process p3 = new process(3,29,0,3);
process p4 = new process(4,0,0,4);
PriorityQueue<process> que = new PriorityQueue(5);
que.add(p1);
que.add(p2);
que.add(p3);
que.add(p4);
while(que.size() > 0){
process temp = que.peek();
que.poll();
temp.priority -= 3;
temp.cputime ++;
temp.alltime --;
if(temp.alltime > 0) que.add(temp);
System.out.println("正在运行的 " + temp.id);
Array[] t = que.toArray();
System.out.println("就绪的 ");
}
}
}
class process implements Comparable<process>{
int id;
int priority;
int cputime;
int alltime;
public process(int id, int priority, int cputime, int alltime){
this.id = id;
this.priority = priority;
this.cputime = cputime;
this.alltime = alltime;
}
public int compareTo(process x) {
return (int)x.priority - this.priority;
}
}