Sobes.tech
Junior — Middle

Melyek az Object osztály főbb módszerei, amelyeket az áramokkal és szinkronizációval való munkához használnak?

sobes.tech MI

Válasz az MI-től

Java-ban az Object osztály több olyan metódust kínál, amelyeket gyakran használnak szálak és szinkronizáció során:

  • wait() — lehetővé teszi, hogy az aktuális szál várakozzon, amíg egy másik szál nem hívja meg a notify() vagy notifyAll() metódust ugyanazon az objektumon. Ezt egy adott állapot várakozásának szervezésére használják.

  • notify() — felébreszt egy olyan szálat, amely várakozik ezen az objektumon.

  • notifyAll() — felébreszti az összes várakozó szálat ezen az objektumon.

Ezeket a módszereket szinkronizált blokk vagy metódus belsejében kell hívni, különben IllegalMonitorStateException kivétel keletkezik.

Használati példa:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // A műveletek a feltétel teljesülése után
}

// Egy másik szálban
synchronized (sharedObject) {
    // Állapot módosítása
    sharedObject.notify();
}