Встречается на собеседованиях • сегодня

Какие знаешь альтернативы wait-notify из java.util.concurrent

java.util.concurrent предоставляет несколько более удобных альтернатив wait-notify:

  1. Lock + Condition – более гибкий механизм с поддержкой нескольких условий ожидания:
java
Lock lock = new ReentrantLock();
Condition condition = lock.newCondition();
lock.lock();
try {
    condition.await(); // аналог wait()
    condition.signal(); // аналог notify()
} finally {
    lock.unlock();
}
  1. CountDownLatch – однократный барьер для ожидания завершения операций:
java
CountDownLatch latch = new CountDownLatch(1);
latch.await(); // ждем
latch.countDown(); // разрешаем продолжить
  1. CyclicBarrier – повторяемый барьер для синхронизации потоков.

  2. Semaphore – ограничивает количество потоков, имеющих доступ к ресурсу.

  3. BlockingQueue – потокобезопасные очереди с блокирующими операциями (put(), take()).

Эти альтернативы решают проблемы "ложных пробуждений" и дают более высокоуровневый контроль над синхронизацией.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы