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

Почему выберешь синхронизированный блок, а не метод

Синхронизированный блок (synchronized(lock)) предпочтительнее синхронизированного метода (synchronized method), когда нужен более гибкий контроль над блокировкой.

Преимущества:

  1. Гранулярность – можно синхронизировать только часть метода, а не весь.
  2. Разные объекты для блокировки – можно использовать отдельный lock вместо this.
  3. Производительность – меньше contention, если блокируется только критическая секция.

Пример:

java
private final Object lock = new Object();

public void update() {
    // Несинхронизированный код
    synchronized(lock) {
        // Критическая секция
    }
}

Если бы метод был synchronized, блокировался бы весь экземпляр (this), что может снизить производительность.

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

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

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

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