不知道哪里出错误了.....
厨师和服务生的问题~设计一个无限的循环,可为什么总是只执行一次呢?~...求教!~
class Cai
{
boolean falg = false;
int i = 0;
}
class ChuShi implements Runnable
{
Cai b;
ChuShi(Cai b)
{
this.b = b;
}
public synchronized void doCai()
{
if(b.falg)
try{b.wait();}catch(Exception e){}
b.i++;
System.out.println("厨师已经做好了第 "+b.i+" 道菜...呼唤使者...");
b.falg = false;
b.notify();
}
public void run()
{
while(true)
{
doCai();
}
}
}
class FuWuSheng implements Runnable
{
Cai b;
FuWuSheng(Cai b)
{
this.b = b;
}
public synchronized void get()
{
if(!b.falg)
try{b.wait();}catch(Exception e){}
System.out.println("服务生拿走了第 "+b.i+" 道菜...");
b.falg = true;
b.notify();
}
public void run()
{
while(true)
{
get();
}
}
}
class Demo
{
public static void main(String agrs[])
{
Cai b = new Cai();
new Thread(new ChuShi(b)).start();
new Thread(new FuWuSheng(b)).start();
}
}