Я создал условную переменную из блокировки повторного входа с параметром истины, установленным в значение true. В моем приложении несколько ожидающих потоков для условной переменной. Я прочитал в документации, что если я вызову метод сигнала, самый длинный ожидающий поток будет сигнализироваться первым. Я хочу знать, не соответствует ли условие для пробужденного потока, и он снова вызывает ожидание, сбросит ли его время ожидания или продолжит накапливаться.
private ReentrantLock lock = new ReentrantLock(true);
private Condition condition = lock.newCondition();
lock.lock();
while (!isAllowedToProceed){
condition.await();
}
lock.unlock();