Sobes.tech
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++;
}