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

Помнишь ли как работать с Lock

В Java Lock — это интерфейс из пакета java.util.concurrent.locks, предоставляющий более гибкую альтернативу synchronized. Основные реализации — ReentrantLock, ReentrantReadWriteLock.

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

  • lock() — блокирует доступ, если другой поток уже владеет локом.
  • unlock() — освобождает лок (обязательно в finally!).
  • tryLock() — неблокирующая попытка захватить лок.

Пример:

java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // Критическая секция
} finally {
    lock.unlock(); // Гарантированное освобождение
}

Особенности:

  • Возможность прерываемой блокировки (lockInterruptibly()).
  • Честность (fairness) в ReentrantLock.
  • Условные переменные (Condition) для тонкой синхронизации.

Лучше synchronized при сложных сценариях, но требует аккуратного управления.

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

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

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

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