//************************************************************************/ // definizione di una classe che rappresenta un processo: deve ereditare / // dalla classe di libreria Thread / //************************************************************************/ public class Mugnaio extends Thread { // variabile che rappresenta il monitor private Pastificio p; int farina; String nome; // costruttore della classe public Mugnaio(Pastificio p, int kg, String nome) { // inizializzazione della variabile monitor this.p = p; this.farina = kg; this.nome = nome; } public void run() { { p.Deposita(farina, nome); //Sleep in cui viene fatta la pasta try{Thread.sleep((long) (Math.random()*3000+1));} catch(InterruptedException e){} p.Ritira(nome); } } }