15.19. Das Rainer-und-Monika-Problem in Codeform

Das folgende Beispiel zeigt, was passieren kann, wenn zwei Threads (Rainer und Monika) ein Objekt (das Bankkonto) miteinander teilen.

Der Code hat zwei Klassen, BankKonto und RainerUndMonikaJob. Die Klasse RainerUndMonikaJob implementiert Runnable und repräsentiert das Verhalten, das sowohl Rainer als auch Monika haben: den Kontostand prüfen und die Abhebung durchführen. Aber natürlich schläft jeder Thread zwischen dem Überprüfen des Kontostands und dem eigentlichen Abheben ein.

Die Klasse RainerUndMonikaJob hat eine Instanzvariable vom Typ BankKonto, die das gemeinsame Konto repräsentiert.

Eine Instanz von RainerUndMonikaJob machen.

Das RainerUndMonikaJob-Objekt ist das Runnable (der Job), ...

Get Java™ von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.