-2
这可能是一个愚蠢的问题,但我想知道信号量如何在Java中工作。我已经阅读了许多关于它的文章(也在stackoverflow上),但无法得到它的想法。简单使用信号灯
预定义的类Semaphore没有任何方法吗?是否像我们必须声明它的对象并编写我们自己的同步方法?
谢谢。
这可能是一个愚蠢的问题,但我想知道信号量如何在Java中工作。我已经阅读了许多关于它的文章(也在stackoverflow上),但无法得到它的想法。简单使用信号灯
预定义的类Semaphore没有任何方法吗?是否像我们必须声明它的对象并编写我们自己的同步方法?
谢谢。
“信号量是一个线程同步构造,既可以用于在线程之间发送信号,以避免错过信号,或守卫关键部分,就像您用锁” - Source
快速执行力度会是
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;
}
}
一种在java.util.concurrent
包here.
了Java 5+实现你没读'Semaphore'的Javadoc教程和说明?这一切都清楚地解释。 – chrylis
@chrylis Javadoc和其他程序员向你解释的不一样。为什么他不能问一个编程网站关于编程? – michaelsnowden
@doctordoder问一个合理的问题是好的。 “这个班级没有任何方法”是通过参考文档立即回答的小事实问题。 – chrylis