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

Что такое синхронизация

Синхронизация в Java — это механизм управления доступом нескольких потоков к общим ресурсам, предотвращающий race condition. Основные способы:

  1. synchronized методы/блоки – только один поток может выполнять synchronized код одновременно.
java
public synchronized void increment() {
    counter++; 
}
  1. Lock интерфейсы (ReentrantLock) – более гибкая альтернатива с ручным управлением блокировкой.

  2. Atomic переменные – для атомарных операций без блокировок.

Ключевые моменты:

  • Синхронизация снижает производительность из-за блокировок
  • Важно избегать deadlock (взаимных блокировок)
  • Для чтения предпочтительнее volatile или атомарные классы

Пример deadlock:

java
// Поток 1: synchronized(A), затем пытается synchronized(B)
// Поток 2: synchronized(B), затем пытается synchronized(A)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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