Встречается на собеседованиях • сегодня
Какие типы блокировок используются в многопоточности
В Java основные типы блокировок:
- Неявные (встроенные) - синхронизация через
synchronized:
java
synchronized(obj) {
// critical section
}- Явные блокировки из
java.util.concurrent.locks:
ReentrantLock- повторно входимая блокировка с возможностью честного доступаReadWriteLock- разделяет блокировки на чтение и записьStampedLock- оптимизированная блокировка с поддержкой оптимистичного чтения
Пример с ReentrantLock:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
// critical section
} finally {
lock.unlock();
}-
Атомарные операции через
Atomic-классы (CAS-операции) -
Координационные -
Semaphore,CountDownLatch,CyclicBarrier
Основные различия: synchronized проще, но менее гибок. Явные блокировки дают больше контроля (таймауты, прерывания), но требуют ручного управления.

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