Exercise: Deadlock
Aufgabe
Erstellen Sie ein Java Programm, das einen Deadlock provoziert:
Implementieren Sie eine Klasse für einen Sende-Empfänger.
Starten Sie für zwei Sende-Empfänger jeweils einen Thread.
Empfange wird, indem die Sende-Methode in eine entsprechende Variable des anderen Empfängers schreibt (Hinweis: Threads haben auf den gleichen Heap innerhalb des Prozesses Zugriff)
Provozieren Sie nun einen Deadlock aufgrund folgenden Verhaltens: Ein Sender kann keine Nachricht empfangen, solange er senden möchte, bzw. empfängt ein Sender eine Nachricht, kann er keine Nachricht versenden.
Tipp: Nutzen Sie das
synchronized
Keyword in Java, um das gewünschte Verhalten zu provozieren.
Checken Sie das Code-File in Ihrer Gruppe unter dem Ordner sender_receiver in Ihrem Repository ein.
Last updated