Sobes.tech
Назад к вопросам
Senior
4

Что такое монитор в Java?

Компании, где спрашивали
ИП Ганус Александр Андреевич

Ответ от нейросети

sobes.tech AI

В Java монитор — это механизм синхронизации, который обеспечивает взаимное исключение (mutex) при доступе к разделяемым ресурсам. Каждый объект в Java ассоциирован с монитором, который используется ключевым словом synchronized для блокировки и разблокировки.

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

Пример:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized int getCount() {
        return count;
    }
}

Здесь методы increment и getCount используют монитор объекта Counter для синхронизации доступа.