Встречается на собеседованиях • сегодня
Для чего нужен ReentrantLock
ReentrantLock — это альтернатива synchronized, предоставляющая более гибкое управление блокировками.
Ключевые преимущества:
- Возможность повторного входа — поток может захватывать один и тот же lock несколько раз.
- Честность — можно создать "честный" lock (FIFO-очередь ожидающих потоков).
- Условные переменные — через
Conditionможно создавать разные условия ожидания. - Прерываемое ожидание —
tryLock()с таймаутом илиlockInterruptibly().
Пример:
java
ReentrantLock lock = new ReentrantLock();
lock.lock();
try {
// Критическая секция
} finally {
lock.unlock(); // Важно освобождать в finally!
}Когда использовать:
- Нужен контроль над блокировками (таймауты, прерывания).
- Требуются сложные схемы синхронизации (например,
Condition). synchronizedнедостаточно гибок.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы