G
Guest
Gast
Hallo,
ich habe folgende aufgabe bei der ich absolut nicht weiß wie ich vorgehen muss. Vielleicht könnte mir jemand eine Lösung dazu zeigen anhand der ich die Aufgabe dann vielleicht verstehe.
Hier die Aufgabe:
Simulieren Sie unter Anwendung des Strikter-Wechsel-Algorithmus, zwei LKW Fahrer, die als Threads gestartet werden und immer abwechselnd schlafen und fahren. Weil es im LKW nur ein schmales Bett gibt, können die LKW-Fahrer nicht gleichzeitig schlafen.
a) Schreiben Sie zuerst eine Klasse Schlaf, die unter Anwendung der sleep-Methode der Thread-Klasse, mindestens folgende statische Methoden enthält:
1) public static void nickerchen( int milliSekunden );
2) public static void zufallsNickerchen( int minSekunden, int maxSekunden );
b) Jeder LKW-Fahrer hat eine Identität (id), die gleich 0 oder 1 ist. Die ID wird beim Erzeugen des Objekts im Konstruktor als Parameter übergeben.
c) Die Klasse Bett ist eine einfache Klasse, die Bett-Objekte darstellen soll und eine Variable ist_dran (turn) hat, die je nachdem welcher Fahrer mit Schlafen dran ist, auf 0 oder 1 gesetzt wird. Beide LKW-Fahrer sollen im Konstruktor eine Referenz zum Bett-Objekt bekommen.
d) Erstellen Sie in der Klasse Fahrer eine Methode, kritischer_abschnitt, in der der Fahrer ein Nickerchen macht und sich vor und nach dem Nickerchen meldet und eine Methode normaler_abschnitt, in der der Fahrer fährt oder isst und sich entsprechend meldet.
Über eine Lösung wäre ich sehr dankbar!!!!
ich habe folgende aufgabe bei der ich absolut nicht weiß wie ich vorgehen muss. Vielleicht könnte mir jemand eine Lösung dazu zeigen anhand der ich die Aufgabe dann vielleicht verstehe.
Hier die Aufgabe:
Simulieren Sie unter Anwendung des Strikter-Wechsel-Algorithmus, zwei LKW Fahrer, die als Threads gestartet werden und immer abwechselnd schlafen und fahren. Weil es im LKW nur ein schmales Bett gibt, können die LKW-Fahrer nicht gleichzeitig schlafen.
a) Schreiben Sie zuerst eine Klasse Schlaf, die unter Anwendung der sleep-Methode der Thread-Klasse, mindestens folgende statische Methoden enthält:
1) public static void nickerchen( int milliSekunden );
2) public static void zufallsNickerchen( int minSekunden, int maxSekunden );
b) Jeder LKW-Fahrer hat eine Identität (id), die gleich 0 oder 1 ist. Die ID wird beim Erzeugen des Objekts im Konstruktor als Parameter übergeben.
c) Die Klasse Bett ist eine einfache Klasse, die Bett-Objekte darstellen soll und eine Variable ist_dran (turn) hat, die je nachdem welcher Fahrer mit Schlafen dran ist, auf 0 oder 1 gesetzt wird. Beide LKW-Fahrer sollen im Konstruktor eine Referenz zum Bett-Objekt bekommen.
d) Erstellen Sie in der Klasse Fahrer eine Methode, kritischer_abschnitt, in der der Fahrer ein Nickerchen macht und sich vor und nach dem Nickerchen meldet und eine Methode normaler_abschnitt, in der der Fahrer fährt oder isst und sich entsprechend meldet.
Über eine Lösung wäre ich sehr dankbar!!!!