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

Какие знаешь базовые способы синхронизации класса Object

В Java у класса Object есть три основных метода для синхронизации:

  1. wait() – освобождает монитор и переводит поток в ожидание, пока другой поток не вызовет notify() или notifyAll().
  2. notify() – пробуждает один случайный поток, ожидающий на мониторе этого объекта.
  3. notifyAll() – пробуждает все потоки, ожидающие на мониторе.

Пример:

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

Важно: методы wait(), notify(), notifyAll() должны вызываться только внутри synchronized блока, иначе IllegalMonitorStateException.

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

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

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

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