//************************************************************************/ // definizione di una classe che rappresenta un processo: deve ereditare / // dalla classe di libreria Thread / //************************************************************************/ public class Autoveicolo extends Thread { // variabile che rappresenta il monitor private Parcheggio p; int tipo; String nome; // costruttore della classe public Autoveicolo(Parcheggio p, int tipo, String nome) { // inizializzazione della variabile monitor this.p = p; this.tipo = tipo; this.nome = nome; } public void run() { { p.Entra(tipo, nome); //Sleep in cui l'autovettura sosta nel parcheggio try{Thread.sleep((long) (Math.random()*3000+1));} catch(InterruptedException e){} p.Esci(tipo, nome); } } }