semaphore.java

来自「演示win32的socket 通讯 八皇后的改进算法 并发Concurren」· Java 代码 · 共 30 行

JAVA
30
字号
//@author: j.n.magee 11/11/96
package concurrency.semaphore;


/********************************************************/
//
// The Semaphore Class
// up() is the V operation
// down() is the P operation
//
public class Semaphore {

    private int value;

    public Semaphore (int initial) {
        value = initial;
    }

    synchronized public void up() {
        ++value;
        notifyAll();  // should be notify() but does not work in some browsers
    }

    synchronized public void down() throws InterruptedException {
        while (value==0) wait();
        --value;
    }
}

⌨️ 快捷键说明

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