semaphore.java

来自「这是操作系统的程序设计」· Java 代码 · 共 26 行

JAVA
26
字号
/**
 * 此类用来模拟信号量
 *
 */
public class Semaphore{
	private int semValue;
	public Semaphore(int semValue){
		this.semValue = semValue;		 
	}
	public synchronized void p(){
		semValue--;
		if(semValue<0){
			try {
				this.wait();
			} catch (InterruptedException e) {				
				e.printStackTrace();
			}
		}
	}
	public synchronized void v(){
		semValue++;
		if(semValue<=0){
			this.notify();
		}		
	}
}

⌨️ 快捷键说明

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