TU Wien Diskussion:Betriebssysteme VO (Puschner)/Prüfung 2008-10-22 - Beispiel 01
Zur Navigation springen
Zur Suche springen
Ich glaube die Wagen stimmen so nicht ganz. Es müsste nach jedem deliver() drei bzw zwei mal V(wagenX_beladebereit) aufgerufen werden, sonst kommt es zu einem Deadlock: Der Arm übertritt nachher nur einmal P(wagen_beladebereit), lädt also nur eine Flasche auf. Danach kommt er in die Queue von wagen_beladebereit, kann also keine Flasche mehr abladen. Der Wagen hingegen wartet darauf, dass 3 bzw 2 Flaschen abgelegt wurden, bevor etwas aus der Queue wagen_beladebereit wieder weitermachen darf -> Deadlock