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

Какие знаешь виды блокировок

В Java есть несколько видов блокировок:

  1. Intrinsic Lock (Monitor Lock) – синхронизация через synchronized:
java
synchronized (lockObject) {
    // critical section
}
  1. ReentrantLock – более гибкая альтернатива synchronized:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // critical section
} finally {
    lock.unlock();
}
  1. ReadWriteLock – разделяет блокировки на чтение и запись:
java
ReadWriteLock rwLock = new ReentrantReadWriteLock();
rwLock.readLock().lock(); // для чтения
rwLock.writeLock().lock(); // для записи
  1. StampedLock – оптимизированная блокировка с поддержкой оптимистичного чтения.

  2. Condition – механизм ожидания/сигнализации, используется с ReentrantLock.

  3. Atomic-классы (AtomicInteger, AtomicReference и др.) – lock-free реализация через CAS.

  4. Semaphore – ограничивает количество потоков, имеющих доступ к ресурсу.

  5. CountDownLatch/CyclicBarrier – синхронизация групп потоков.

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

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

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

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