Assignment 4: Producer/Consumer - La Mensa
Aggregazione dei criteri
Aperto: martedì, 4 ottobre 2016, 00:00
Data limite: martedì, 18 ottobre 2016, 00:00
Simulare il lavaggio dei piatti alla mensa. Gli studenti (modellati con dei thread) portano i loro piatti a lavare dopo aver mangiato (mangiano in 1-5 secondi). Ci sono due azioni diverse da fare per ogni piatto: lavare e risciacquare. Ci sono 7 persone che lavorano alla mensa, 3 lavano, 4 risciacquano (modellate anche loro con dei thread). Ognuno di loro ha bisogno di 1-5 secondi per lavare/risciacquare un piatto. Le persone sono identificate dal loro nome e cognome.
Simulate l’arrivo di 100 studenti, a intervalli di tempo aleatori. Il programma si ferma quando tutti i piatti sono risciacquati.
Attenzione! Il programma non deve usare ne synchronized ne locking esplicito.
Indicazione: usare code bloccante e variabili atomic.