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 anotify()vagynotifyAll()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();
}