Junior — Middle
Leg uit hoe de monitor werkt als mechanisme om thread-synchronisatie te garanderen.
sobes.tech AI
Antwoord van AI
Монитор в Java — это механизм синхронизации, который обеспечивает взаимное исключение доступа к разделяемым ресурсам между потоками. Каждый объект в Java имеет связанный с ним монитор.
Принцип работы:
- Когда поток входит в синхронизированный блок или метод, он захватывает монитор объекта.
- Пока монитор захвачен, другие потоки, пытающиеся войти в этот же синхронизированный блок, блокируются и ждут освобождения монитора.
- После выхода из блока монитор освобождается, и один из ожидающих потоков получает доступ.
Это гарантирует, что в критической секции кода одновременно выполняется только один поток, предотвращая состояние гонки и обеспечивая корректность данных.
Пример:
synchronized(this) {
// критическая секция
sharedResource++;
}