fifoscheduler.java

来自「操作系统的线程模拟程序」· Java 代码 · 共 41 行

JAVA
41
字号

import java.util.Random ;

public class FifoScheduler extends Scheduler2 {


	private int pronow ;

    public FifoScheduler() {
   
    	pronow=0;
    }

    public synchronized void run() {
    	
	while (true) {
  	    int noProcs = processList.size() ;
	    if (noProcs == 0) System.exit(0) ;
	    int next=0;
	    SimProc2 Runner = (SimProc2) processList.elementAt(pronow) ;
	    int min=Runner.getCount();
	    for(int i=1;i<noProcs;i++){
	    	SimProc2 Runner1 = (SimProc2) processList.elementAt(i) ;
	    	
	    	
	    	if(Runner1.getCount()>min) {min=Runner1.getCount();
	    	
	    	next=i;}
	    	
	    	
	    }

	    SimProc2 nextRunner = (SimProc2) processList.elementAt(next) ;
	    synchronized(nextRunner) { nextRunner.notify() ;}
   	    try { wait() ;}
	    catch (Exception e) { 
		System.out.println("Unexpected interrupt in run " + e) ; 
	    }
	}
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?