Zum Thema Semaphoren, Monitore und Threads kann man selbstverständlich auch schöne Aufgaben stellen. Deswegen mal wieder eine Aufgabe besonders weil es ja auch den ein oder anderen Faschingsmuffel gibt, der noch keine Vorwand hat sich zu verstecken.

Aufgabe

Schreibe unter Ausnutzung von Threads eine Biathlon-Simulation. Jeder Biathlet agiert als eigener Thread. Das Laufen auf der Strecke wird durch ein zufällig langes Warten des Threads simuliert. Das Schießen (liegend, stehend) kann entweder als zufällige Wartezeit simuliert werden oder man implementiert den Schießstand oder sogar die einzelnen Schießstände als Semaphore. Der Zieleinlauf muss aber als Monitor mit der Sempahore rang (beginnend bei 1) implementiert werden, um ein eindeutiges nacheinander Einlaufen ins Ziel zu gewährleisten.

Und wem das nicht reicht, der kann ja noch einen Staffellauf implementieren.