表示锁和条件组合的Java类
是否存在表示锁和条件组合的JDK Java类。 我指的是另外两个接口:表示锁和条件组合的Java类,java,concurrency,Java,Concurrency,是否存在表示锁和条件组合的JDK Java类。 我指的是另外两个接口: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; 我正在寻找一个已经存在于JDK中的类,它将涵盖: public class Monitor implements Lock, Condition; 我没有找到有用的东西,所以我自己创建了一个类(*)。 通过委托实现多重继承 到其子对象: public f
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
我正在寻找一个已经存在于JDK中的类,它将涵盖:
public class Monitor implements Lock, Condition;
我没有找到有用的东西,所以我自己创建了一个类(*)。
通过委托实现多重继承
到其子对象:
public final class Monitor implements Lock, Condition {
private final Lock lock;
private final Condition cond;
public Monitor(Lock l, Condition c) {
lock = l;
cond = c;
public void lock() {
lock.lock();
}
Etc..
public void await() throws InterruptedException {
cond.await();
}
Etc..
}
可用作内部锁的替代品和Java对象的条件变量,其优点是
可以中断地获取锁 (*)完整源代码:
你认为为什么会有这样一个类?锁可以有任意数量的条件。如果你查阅锁的文档,它会告诉你所有的实现。对条件也要这样做。看看有没有共同点。