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

Какие знаешь мониторы в Java

В Java мониторы — это механизм синхронизации, основанный на блокировках (synchronized). Основные элементы:

  1. Intrinsic Lock (Monitor Lock) — блокировка, связанная с объектом. Используется в synchronized методах/блоках:
java
synchronized (obj) {
    // критическая секция
}
  1. Wait/Notify — методы Object для координации потоков:
  • wait() — освобождает монитор и ждёт уведомления.
  • notify()/notifyAll() — пробуждает один/все ожидающие потоки.

Пример:

java
synchronized (lock) {
    while (!condition) {
        lock.wait();
    }
    // выполнение после условия
}
  1. Условные переменные (Condition) — более гибкая альтернатива wait/notify через ReentrantLock:
java
Lock lock = new ReentrantLock();
Condition condition = lock.newCondition();

Мониторы обеспечивают взаимное исключение и координацию потоков, но требуют аккуратного использования во избежание deadlock.

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

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

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

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