Встречается на собеседованиях • сегодня
Для чего нужна синхронизация
synchronized в Java обеспечивает синхронизацию доступа к блоку кода или методу, предотвращая race condition. Только один поток может выполнять synchronized-блок для одного объекта (монитора) в один момент времени.
Пример с методом:
java
public synchronized void increment() {
counter++;
}Пример с блоком:
java
public void increment() {
synchronized(this) {
counter++;
}
}Ключевые особенности:
- Для статических методов монитором является Class-объект
- Для нестатических - экземпляр объекта (this)
- Гарантирует видимость изменений между потоками (happens-before)
- Может вызывать contention при высокой нагрузке
Альтернативы в современных Java - ReentrantLock, StampedLock, атомарные классы из java.util.concurrent.atomic.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы