?? 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 + -