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

Как работает synchronized

synchronized в Java обеспечивает потокобезопасность, блокируя доступ к общему ресурсу для других потоков, пока один поток выполняет синхронизированный блок или метод.

Виды синхронизации:

  1. Синхронизированный метод – блокирует весь объект (для нестатических методов) или класс (для статических).
java
public synchronized void increment() { 
    counter++; 
}
  1. Синхронизированный блок – блокирует только указанный объект (более гибкий подход).
java
public void increment() { 
    synchronized(this) { 
        counter++; 
    } 
}

Особенности:

  • Гарантирует видимость изменений между потоками (happens-before).
  • Может привести к deadlock, если блокировки захватываются в неправильном порядке.
  • В Java 5+ рекомендуется использовать java.util.concurrent (например, ReentrantLock), если нужна более сложная логика.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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