Java 如何确定条件变量上等待时间最长的线程?

Java 如何确定条件变量上等待时间最长的线程?,java,condition-variable,locks,Java,Condition Variable,Locks,我从可重入锁创建了一个条件变量,将fair参数设置为true。在我的应用程序中,条件变量上有多个等待线程。我在文档中读到,如果调用signal方法,等待时间最长的线程将首先收到信号。我想知道如果唤醒线程的条件不正确,他再次调用wait,它的等待时间会重置还是继续累积 private ReentrantLock lock=new ReentrantLock(true); 私有条件Condition=lock.newCondition(); lock.lock(); 而(!我被允许继续){ 条件wa

我从可重入锁创建了一个条件变量,将fair参数设置为true。在我的应用程序中,条件变量上有多个等待线程。我在文档中读到,如果调用signal方法,等待时间最长的线程将首先收到信号。我想知道如果唤醒线程的条件不正确,他再次调用wait,它的等待时间会重置还是继续累积

private ReentrantLock lock=new ReentrantLock(true);
私有条件Condition=lock.newCondition();
lock.lock();
而(!我被允许继续){
条件wait();
}
lock.unlock();

等待时间是线程当前正在等待的时间。它不包括任何以前的等待。您可以将其视为FIFO队列