scheduler2.java

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

JAVA
37
字号
import java.util.Vector;

abstract public class Scheduler2 extends Thread {

protected Vector processList ;

    public Scheduler2() {
	processList = new Vector() ;
    }

    public void addProcess(SimProc2 t) {
	synchronized(this) { processList.addElement(t) ;}
	synchronized(t) {	
	    try { t.wait() ; }
	    catch (Exception e) { 
		System.out.println("Unexpected in addProcess " + e) ; 
	    }
	}
    }

   public void endSlice(SimProc2 t) {
	synchronized(t) {
	    synchronized(this) { notify() ; }
	    try { t.wait() ;}
 	    catch (Exception e) { 
		System.out.println("Unexpected in endSlice " + e) ;
	    }
	}
   }	

   public synchronized void removeProcess(SimProc2 t) {
	processList.remove(t) ;
	notify() ;
    }

}

⌨️ 快捷键说明

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