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

Что такое блокировки

Блокировки (locks) в Java — это механизмы синхронизации, которые позволяют контролировать доступ к общему ресурсу в многопоточной среде. Основные типы:

  1. Неявные (intrinsic) блокировки — синхронизация через synchronized:
java
synchronized (lockObject) {
    // критическая секция
}
  1. Явные блокировки — интерфейс Lock из java.util.concurrent.locks:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // критическая секция
} finally {
    lock.unlock();
}

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

  • ReentrantLock позволяет повторный вход (реентерабельность)
  • ReadWriteLock разделяет доступ на чтение/запись
  • Блокировки могут быть честными (fair) или нечестными

Проблемы:

  • Взаимные блокировки (deadlock)
  • Голодание (starvation)
  • Инверсия приоритетов

Всегда разблокируйте в finally!

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

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

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

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