wait()和notify()的简单调用程序
时间:2008-05-06
public class road{public static void main(String []args){car c=new car();driver d =new driver(c);passenger p =new passenger(c);new Thread(d).start();new Thread(p).start();}}class car{synchronized public void sleep(){try{wait();}catch(Exception e){}}synchronized public void week(){notify();}}class passenger implements Runnable{car c;public passenger(){}public passenger(car c){this.c=c;}public void run(){while(true){Thread.yield();try{Thread.sleep(3000);}catch(InterruptedException ie){}System.out.println("a passenger go on");c.week();System.out.println("waiting stop and sleep...");c.sleep();}}}class driver implements Runnable{private car c;public driver(){}public driver(car c){this.c=c;}public void run(){while(true){System.out.println("wait a passenger.......");c.sleep();try{Thread.sleep(3000);}catch(InterruptedException ie){}Thread.yield();try{Thread.sleep(100);}catch(InterruptedException ie){}c.week();System.out.println(" passenger week and go ");}} }
|