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

Какие принципы работы sinchronized

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

Принципы:

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

Пример:

java
public class Counter {
    private int count = 0;

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

Нюансы:

  • synchronized методы блокируют весь объект, что может снижать производительность.
  • Для гибкости можно использовать synchronized блоки с указанием объекта-монитора:
java
public void doSomething() {
    synchronized (this) {
        // критическая секция
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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