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

Какими характеристиками обладает synchronized

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

Характеристики:

  1. Монитор – использует внутренний монитор объекта (или класса для статических методов).
  2. Взаимное исключение – только один поток может владеть монитором.
  3. Видимость изменений – гарантирует, что изменения переменных внутри блока видны другим потокам.
  4. Reentrant – поток может повторно захватывать один и тот же монитор.

Пример:

java
public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++; // потокобезопасный доступ
    }
}

Недостатки:

  • Может привести к deadlock при неправильном использовании.
  • Избыточная синхронизация снижает производительность.

Альтернативы: ReentrantLock, AtomicInteger и др.

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

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

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

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