Sobes.tech
Junior — Middle

Обяснете принципа на работа на монитора като механизъм за осигуряване на синхронизация на нишки.

sobes.tech AI

Отговор от AI

Модулът в Java е механизъм за синхронизация, който осигурява взаимно изключване при достъп до споделени ресурси между нишки. Всяки обект в Java има свързан с него монитор.

Принцип на работа:

  • Когато нишка влезе в синхронизирана блок или метод, тя придобива монитора на обекта.
  • Докато мониторът е зает, други нишки, които се опитват да влязат в същия синхронизирани блок, се блокират и чакат освобождаването на монитора.
  • След излизане от блока, мониторът се освобождава, и една от чакащите нишки получава достъп.

Това гарантира, че в критичната секция на кода се изпълнява само една нишка едновременно, предотвратявайки състезателни условия и осигурявайки коректност на данните.

Пример:

synchronized(this) {
    // критична секция
    sharedResource++;
}