📄 priorityscheduler.java
字号:
import java.util.Collections;
import java.util.LinkedList;
import java.util.ListIterator;
/*
* 创建日期 2006-4-19
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author Administrator
*
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class PriorityScheduler extends Thread{
static int SLEEP_DELTA=500;
LinkedList queue;
int i=1;
public PriorityScheduler()
{
queue= new LinkedList();
}
/**
* @param arg0
* @return
*/
public boolean add(Object arg0) {
if(queue.add(arg0))
{
return true;
}
return false;
}
public void run()
{
PCBComparator cmp= new PCBComparator();
Collections.sort(queue,cmp);
while(true)
{
ListIterator li=queue.listIterator();
while(li.hasNext())
{
PCB p=(PCB) li.next();
System.out.println("第 "+(i++)+" 次调度,队列中第 "+(li.previousIndex()+1)+" 号线程开始运行");
p.resume();
try {
Thread.sleep(5*SLEEP_DELTA);
} catch (InterruptedException e) {
e.printStackTrace();
}
p.suspend();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -