Какая типичная ошибка при работе с ReentrantLock и как ее избежать?
Что хотят услышать интервьюеры:
Ошибка: забывать unlock в finally.
Ответ:
Как избежать: вернитесь к контракту и назначению темы: Lock дает tryLock, interruptible lock и более гибкий контроль. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.
Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.
lock.lock();
try {
...
}
finally {
lock.unlock();
}