Sobes.tech
Junior — Middle

Welke hoofdmethoden van de klasse Object worden gebruikt voor het werken met streams en synchronisatie?

sobes.tech AI

Antwoord van AI

In Java biedt de klasse Object verschillende methoden die vaak worden gebruikt bij het werken met threads en synchronisatie:

  • wait() — zorgt ervoor dat de huidige thread wacht totdat een andere thread notify() of notifyAll() aanroept op hetzelfde object. Wordt gebruikt om te wachten op een bepaalde toestand.

  • notify() — wekt één wachtende thread op die op dat object wacht.

  • notifyAll() — wekt alle wachtende threads op die op dat object wachten.

Deze methoden moeten worden aangeroepen binnen een gesynchroniseerd blok of methode, anders wordt een IllegalMonitorStateException gegenereerd.

Voorbeeld van gebruik:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Acties na het voldoen aan de voorwaarde
}

// In een andere thread
synchronized (sharedObject) {
    // Verandering van toestand
    sharedObject.notify();
}