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

Что такое Lock

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

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

  • Позволяет явно блокировать и разблокировать ресурсы (lock(), unlock()).
  • Поддерживает условные ожидания (Condition).
  • Можно попытаться захватить блокировку без бесконечного ожидания (tryLock()).

Пример:

java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // Критическая секция
} finally {
    lock.unlock(); // Всегда в finally!
}

Отличие от synchronized:

  • Lock — явный контроль, synchronized — неявный.
  • Lock поддерживает прерываемые/таймаутные попытки блокировки.
  • synchronized проще, но менее гибок.

Подходит для сложных сценариев многопоточности.

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

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

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

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