Junior — Middle
110
Оё метавонед шарҳ диҳед, ки монитор дар контексти барномасозии бисёртредӣ чӣ гуна аст?
Ширкатҳо дар куҷо пурсиданд
Ҷавоб аз AI
sobes.tech AI
Монитор в многопоточном программировании — это механизм синхронизации, который объединяет в себе блокировку (mutex) и условные переменные для управления доступом к разделяемым ресурсам.
В Java монитором является любой объект, у которого можно использовать ключевое слово synchronized. Когда поток входит в синхронизированный блок или метод, он захватывает монитор объекта, блокируя доступ другим потокам до выхода из блока.
Пример:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized int getCount() {
return count;
}
}
Здесь методы increment и getCount используют монитор объекта Counter для обеспечения потокобезопасности. Монитор гарантирует, что в каждый момент времени только один поток может выполнять синхронизированный метод этого объекта.