Synchronisierte Methoden

Die Server-Methode get() ist nicht thread-safe: Sie liefert bei gleichzeitiger Ausführung durch mehrere Threads falsche Ergebnisse.

Abhilfe (ausprobieren):

class Clerk { ..
    synchronized int get () { .. }
}

Durch synchronized kann die Methode jeweils nur einmal laufen.

In Java läuft zu jeder Zeit für jedes Objekt höchstens eine seiner synchronized-Methoden.

Damit sind Zugriffe auf Attribute abgesichert.



Johannes Waldmann 2007-06-04