Sobes.tech
Junior — Middle

Welche Hauptmethoden der Klasse Object werden für die Arbeit mit Streams und Synchronisation verwendet?

sobes.tech KI

Antwort von AI

In Java bietet die Klasse Object mehrere Methoden, die häufig bei der Arbeit mit Threads und Synchronisation verwendet werden:

  • wait() — lässt den aktuellen Thread warten, bis ein anderer Thread notify() oder notifyAll() auf demselben Objekt aufruft. Wird verwendet, um auf einen bestimmten Zustand zu warten.

  • notify() — weckt einen einzelnen Thread, der auf diesem Objekt wartet.

  • notifyAll() — weckt alle Threads, die auf diesem Objekt warten.

Diese Methoden müssen innerhalb eines synchronisierten Blocks oder einer synchronisierten Methode aufgerufen werden, andernfalls wird eine IllegalMonitorStateException ausgelöst.

Beispiel für die Verwendung:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Aktionen nach Erreichen der Bedingung
}

// In einem anderen Thread
synchronized (sharedObject) {
    // Zustandsänderung
    sharedObject.notify();
}