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

Что такое ReentrantLock

ReentrantLock — это альтернатива synchronized, предоставляющая более гибкую блокировку. Позволяет явно захватывать и освобождать lock, поддерживает fairness (честную очередь потоков) и возможность проверки состояния блокировки.

Ключевые особенности:

  • Reentrant (как и synchronized) — поток может повторно захватывать lock
  • Поддержка tryLock() с таймаутом
  • Возможность прерывания ожидания (lockInterruptibly())
  • Fairness mode (чередование потоков)

Пример:

java
ReentrantLock lock = new ReentrantLock();
lock.lock();
try {
    // critical section
} finally {
    lock.unlock(); // важно в finally!
}

Отличие от synchronized: больше контроля, но требует ручного управления. Подходит для сложных сценариев синхронизации.

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

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

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

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