信号量简单样本

任何人都可以分享使用信号量的简单样本吗? 如果有可能在没有信号量的情况下解决任务的样本,然后用信号量来理解它的主要思想。

这是一个简单的信号量实现:

 public class Semaphore { private boolean signal = false; public synchronized void take() { this.signal = true; this.notify(); } public synchronized void release() throws InterruptedException{ while(!this.signal) wait(); this.signal = false; } } 

take()方法发送一个内部存储在信号量中的信号。 release()方法等待信号。 收到信号标志后再次清除,并退出release()方法。

阅读本文并查看此示例