Назад к вопросам
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 для синхронизации доступа.