Junior — Middle
Vysvetlite princíp fungovania monitora ako mechanizmu na zabezpečenie synchronizácie vlákien.
sobes.tech AI
Odpoveď od AI
Monitor v jazyku Java je mechanizmus synchronizácie, ktorý zabezpečuje vzájomné vylúčenie pri prístupe ku zdieľaným zdrojom medzi vláknami. Každý objekt v jazyku Java má s ním spojený monitor.
Princíp fungovania:
- Keď vlákno vstúpi do synchronizovaného bloku alebo metódy, získa monitor objektu.
- Dokým je monitor obsadený, ostatné vlákna, ktoré sa pokúšajú vstúpiť do toho istého synchronizovaného bloku, sú zablokované a čakajú na uvoľnenie monitoru.
- Po opustení bloku je monitor uvoľnený a jedno z čakajúcich vlákien získa prístup.
Toto zabezpečuje, že v kritickej sekcii kódu je súčasne vykonávané iba jedno vlákno, čím sa predchádza súťažným podmienkam a zabezpečuje správnosť dát.
Príklad:
synchronized(this) {
// kritická sekcia
sharedResource++;
}