表示锁和条件组合的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

是否存在表示锁和条件组合的JDK Java类。 我指的是另外两个接口:

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对象的条件变量,其优点是
可以中断地获取锁

(*)完整源代码:

你认为为什么会有这样一个类?锁可以有任意数量的条件。如果你查阅锁的文档,它会告诉你所有的实现。对条件也要这样做。看看有没有共同点。