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

Какие знаешь способы синхронизации исполнения кода

В Java есть несколько механизмов синхронизации:

  1. synchronized блоки/методы - базовый способ:
java
synchronized(lockObject) {
    // критическая секция
}
  1. Lock интерфейсы из java.util.concurrent.locks:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
    // критическая секция
} finally {
    lock.unlock();
}
  1. Atomic классы (AtomicInteger, AtomicReference и др.) - для атомарных операций без блокировок.

  2. Volatile переменные - гарантирует видимость изменений между потоками.

  3. CountDownLatch, CyclicBarrier, Semaphore - высокоуровневые синхронизаторы из java.util.concurrent.

  4. Thread.join() - ожидание завершения потока.

  5. Collections.synchronizedXXX() - синхронизированные коллекции.

  6. Concurrent коллекции (ConcurrentHashMap, CopyOnWriteArrayList) - потокобезопасные реализации.

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

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

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

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