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

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

В Java мониторы обеспечивают синхронизацию потоков через механизм synchronized. Основные концепции:

  1. Intrinsic Lock (монитор объекта) – каждый объект имеет ассоциированный монитор. Поток захватывает его через synchronized:
java
synchronized(obj) {
    // критическая секция
}
  1. Wait/Notify – методы wait(), notify(), notifyAll() из Object позволяют потокам ждать и сигнализировать:
java
synchronized(lock) {
    while(!condition) {
        lock.wait();
    }
    // действие
    lock.notifyAll();
}
  1. ReentrantLock – альтернатива synchronized из java.util.concurrent.locks с дополнительными возможностями (таймауты, честность):
java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // критическая секция
} finally {
    lock.unlock();
}
  1. Condition – аналог wait/notify для ReentrantLock:
java
Condition cond = lock.newCondition();
cond.await();
cond.signal();

Мониторы в Java обеспечивают взаимное исключение и координацию потоков.

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

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

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

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