Lehrzeit

Schule & Informatik

Kategorie: Parallelität

Programmieraufgabe 80

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.

Programmieraufgabe 63

In der zwölften Klasse bin ich beim Thema Prozesse und Threads angekommen – leider muss ich sagen, denn in Java Threads zu programmieren ist mit den ganzen deprecated Methoden nicht ganz einfach. Aber es geht. Auch hier gibt es schöne Aufgaben, gerade im Erzeuger-Verbraucher-Modell:

Aufgabe

Schreibe ein Programm, das die Essensausgabe in deiner Schule simuliert. Beteiligte Objekte bzw. Threads wären der Hausmeister, Schüler und die Theke.

Quelltext:Kantine

Und ja, ich arbeite mit der veralteten stop()-Methode hier, aber ich denke, dass die Schüler hier vor allem die Grundlagen erstmal kennenlernen sollten. Dann kann man über den Grund warum die Methode rausgenommen wurde und wie man das Problem löst.

© 2018 Lehrzeit

Theme von Anders NorénHoch ↑