scheduler.java
来自「经典的CPU进程调度软件,可以了解CPU调度的原理.」· Java 代码 · 共 61 行
JAVA
61 行
import java.util.LinkedList;
import java.util.ListIterator;
/*
* 创建日期 2006-4-18
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Scheduler extends Thread {
static int SLEEP_DELTA=500;
LinkedList queue;
int i=1;
public Scheduler()
{
queue=new LinkedList();
}
/**
* @param arg0
* @return
*/
public boolean add(Object arg0) {
return queue.add(arg0);
}
public void run()
{
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) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
p.suspend();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?