Junior — Middle
Обяснете принципа на работа на монитора като механизъм за осигуряване на синхронизация на нишки.
sobes.tech AI
Отговор от AI
Модулът в Java е механизъм за синхронизация, който осигурява взаимно изключване при достъп до споделени ресурси между нишки. Всяки обект в Java има свързан с него монитор.
Принцип на работа:
- Когато нишка влезе в синхронизирана блок или метод, тя придобива монитора на обекта.
- Докато мониторът е зает, други нишки, които се опитват да влязат в същия синхронизирани блок, се блокират и чакат освобождаването на монитора.
- След излизане от блока, мониторът се освобождава, и една от чакащите нишки получава достъп.
Това гарантира, че в критичната секция на кода се изпълнява само една нишка едновременно, предотвратявайки състезателни условия и осигурявайки коректност на данните.
Пример:
synchronized(this) {
// критична секция
sharedResource++;
}