我想在我的代码中使用以下类似信号量的同步原语:
class Event {
private boolean fired = false;
public synchronized void fire() {
this.fired = true;
this.notify();
}
public synchronized void waitFor() throws InterruptedException {
while (!this.fired)
wait();
this.fired = false;
}
}
Java 标准库(或其他流行的库)中是否存在可用于相同语义的原语?
编辑:CountDownLatch
似乎是最佳候选者,因此我将接受其中一个答案。尽管在这种情况下我不喜欢它,因为它没有提供清晰的语义并且缺乏可读性。
最佳答案
关于Java同步原语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226178/