Junior — Middle
Magyarázza el a monitor működési elvét, mint mechanizmust a szálak szinkronizálásának biztosítására.
sobes.tech MI
Válasz az MI-től
A Java-ban a monitor egy szinkronizációs mechanizmus, amely biztosítja a kölcsönös kizárást a megosztott erőforrásokhoz való hozzáférés során szálak között. Minden objektumnak van egy hozzárendelt monitorja.
Működési elv:
- Amikor egy szál belép egy szinkronizált blokkba vagy metódusba, megszerzi az objektum monitorját.
- Amíg a monitor foglalt, ugyanabba a szinkronizált blokkba próbáló más szálak blokkolva várakoznak a monitor felszabadulására.
- A blokk elhagyásakor a monitor felszabadul, és egy a várakozó szálak közül hozzáférést kap.
Ez garantálja, hogy a kritikus szekcióban egyszerre csak egy szál fusson, megelőzve a versenyhelyzeteket és biztosítva az adatok helyességét.
Példa:
synchronized(this) {
// kritikus szekció
sharedResource++;
}