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

Какие знаешь способы синхронизации в Java

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

  1. Synchronized методы – блокируют доступ к методу для других потоков:
java
public synchronized void increment() {
    counter++;
}
  1. Synchronized блоки – позволяют синхронизировать только часть кода:
java
public void increment() {
    synchronized(this) {
        counter++;
    }
}
  1. Lock из java.util.concurrent – более гибкая альтернатива synchronized:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
    counter++;
} finally {
    lock.unlock();
}
  1. Atomic переменные – для атомарных операций без блокировок:
java
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet();
  1. Volatile переменные – гарантирует видимость изменений между потоками:
java
private volatile boolean flag = true;
  1. Синхронизированные коллекции – например, Collections.synchronizedList()

  2. Классы из java.util.concurrentConcurrentHashMap, CountDownLatch, Semaphore и др.

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

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

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

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