Junior — Middle
114
Կարող եք բացատրել, թե ինչ է մոնիտորը բազմատրեդային ծրագրավորման համատեքստում?
Ընկերությունները, որտեղ հարցրել են
Պատասխան 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 для обеспечения потокобезопасности. Монитор гарантирует, что в каждый момент времени только один поток может выполнять синхронизированный метод этого объекта.