?? finishevent.java
字號:
package simcpu;
public class FinishEvent extends Event {
public FinishEvent(int time, EventDriver driver, SimSystem sys) {
super(time, driver, sys);
}
@Override
public void handel() {
SimThread nextThread = sys.schedul();
SimThread curThread = sys.getRunningThread();
curThread.setState(State.TERMINTED);
curThread.setFinishTime(driver.getNow());
curThread.setRoundTime(driver.getNow()-curThread.getArrivalTime());
sys.setRunningThread(null);
DataSource.addTurnroundTime(curThread.getRoundTime());
if(nextThread==null || nextThread==curThread) {
sys.setCpuBusy(false);
return;
}
sys.readyQueue.remove(nextThread);
int overhead = (curThread.getPid() == nextThread.getPid() ? DataSource
.getThreadSwith() : DataSource.getProcessSwitch());
driver.predict(new OverheadEvent(driver.now + overhead, driver, sys,
nextThread));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -