dopo tanta teoria è il primo programma che scrivo, non l'ho provato quindi non garantiscocodice:class Cliente extends Thread { Taxi risorsa; public Cliente(Taxi s) { risorsa = s; } public void run() { if(risorsa.risorsa == null) try { wait(); } catch(InterruptedException e) {} else risorsa.risorsa = null; } } class Taxi extends Thread { Object risorsa = null; public void run() { if(risorsa != null) try { notify(); } catch(InterruptedException e) {} else risorsa = "la mia risorsa"; } } class Main { public static void main(String[] args){ Cliente utonto1 = new Cliente(); Cliente utonto2 = new Cliente(); Taxi cinese = new Taxi(); cinese.start(); utonto1.start(); utonto2.start(); } }

Rispondi quotando