Können sich die Threads verklemmen?
Falls eine Verklemmung auftreten kann, welche Reihenfolge der Instruktionen führt zu der Verklemmung? Wenn keine auftritt, begründen Sie, warum.
Diese Aufgabe war Teil der Klausur im Sommersemester 2025 (Zweittermin).
Lösung
Es kann keine Verklemmung auftreten, da die Ressourcen gemäß einer linearen Ordnung angefragt werden. Ordnet man die Ressourcen gedanklich nach dem Alphabet (a < b < c), fragt ein Thread immer von der “kleineren” zur “größeren” Ressource an (z. B. erst a, dann b). Um eine zirkuläre Wartebeziehung zwischen zwei Threads herzustellen, müsste mindestens ein Thread seine Anfragen entgegen der linearen Ordnung stellen (z. B. erst b, dann a).
Lernziele
In dieser Aufgabe …
nutzen die Studierenden ihr Wissen über Synchronisationsmechanismen, um mögliche Ausführungspfade eines Programms zu analysieren.
untersuchen die Studierenden ein gegebenes Programm auf das Vorhandensein von Deadlocks.
finden die Studierenden formale Argumente, um ihre Beobachtungen zum Auftreten eines Deadlocks zu stützen.