首页 > 学院 > 开发设计 > 正文

wait()和notify()的简单调用程序

2019-11-18 14:08:11
字体:
来源:转载
供稿:网友

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 ");

}
} }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表