Back to questions
СБЕР
IT One
Junior — Middle
60
Объясните принцип работы монитора как механизма для обеспечения синхронизации потоков.
Companies where asked
Answer from AI
sobes.tech AI
Монитор в Java — это механизм синхронизации, который обеспечивает взаимное исключение доступа к разделяемым ресурсам между потоками. Каждый объект в Java имеет связанный с ним монитор.
Принцип работы:
- Когда поток входит в синхронизированный блок или метод, он захватывает монитор объекта.
- Пока монитор захвачен, другие потоки, пытающиеся войти в этот же синхронизированный блок, блокируются и ждут освобождения монитора.
- После выхода из блока монитор освобождается, и один из ожидающих потоков получает доступ.
Это гарантирует, что в критической секции кода одновременно выполняется только один поток, предотвращая состояние гонки и обеспечивая корректность данных.
Пример:
synchronized(this) {
// критическая секция
sharedResource++;
}