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

Что такое synchronized блок

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

Пример:

java
public class Counter {
    private int count = 0;
    private final Object lock = new Object();

    public void increment() {
        synchronized (lock) { // блок синхронизации по объекту lock
            count++;
        }
    }
}

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

  • Объект-монитор (lock в примере) должен быть final для избежания случайной замены.
  • Если монитор — this, блок эквивалентен synchronized методу.
  • Блокировка снимается автоматически при выходе из блока (даже при исключении).

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

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

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

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

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