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

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

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

  1. Intrinsic Lock (Monitor Lock) — базовый механизм синхронизации через synchronized.
    Пример:

    java
    synchronized (lockObject) {
        // critical section
    }
  2. ReentrantLock — более гибкая альтернатива synchronized с поддержкой таймаутов и прерываний.
    Пример:

    java
    ReentrantLock lock = new ReentrantLock();
    lock.lock();
    try {
        // critical section
    } finally {
        lock.unlock();
    }
  1. ReadWriteLock (ReentrantReadWriteLock) — разделяет блокировки на чтение (множественные) и запись (эксклюзивные).
    Пример:

    java
    ReadWriteLock rwLock = new ReentrantReadWriteLock();
    rwLock.readLock().lock(); // для чтения
    rwLock.writeLock().lock(); // для записи
  2. StampedLock — оптимизированная блокировка с поддержкой оптимистичного чтения.
    Пример:

    java
    StampedLock stampedLock = new StampedLock();
    long stamp = stampedLock.tryOptimisticRead();
    // проверка на конфликт
    if (!stampedLock.validate(stamp)) {
        stamp = stampedLock.readLock(); // fallback
    }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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