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

Для чего нужен метод wait у Object

Метод wait() в Java используется для приостановки выполнения текущего потока до тех пор, пока другой поток не вызовет notify() или notifyAll() на том же объекте. Он всегда вызывается внутри синхронизированного блока или метода, так как требует владения монитором объекта.

Пример:

java
synchronized (lock) {
    while (!condition) {
        lock.wait(); // освобождает монитор и ждёт
    }
    // выполнение после пробуждения
}

Основные моменты:

  1. Освобождает монитор объекта, позволяя другим потокам войти в синхронизированный блок
  2. Поток переходит в состояние WAITING
  3. Пробуждается только при вызове notify()/notifyAll() или прерывании
  4. Всегда используйте wait() в цикле проверки условия (spurious wakeups возможны)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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