有没有人可以分享使用信号量的简单示例?如果可能的话,一个没有信号量的解决任务的例子,然后用信号量来理解它的主要思想。
发布于 2012-03-26 15:53:49
下面是一个简单的信号量实现:
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()方法。
阅读this article并查看此example
https://stackoverflow.com/questions/9868363
复制相似问题