A线程的作用是生产产品
B线程的作用是对A线程生产出来的产品进行2次加工
A,B线程共享缓存对象C
当A线程每生产一个产品,放入C中,并尝试通知B线程来取(尝试让B线程进入运行状态)
B线程会不停的尝试从C中取出产品,当发现C中没有产品时,B线程会wait,等待唤醒
请指点童鞋......
A线程的作用是生产产品
B线程的作用是对A线程生产出来的产品进行2次加工
A,B线程共享缓存对象C
当A线程每生产一个产品,放入C中,并尝试通知B线程来取(尝试让B线程进入运行状态)
B线程会不停的尝试从C中取出产品,当发现C中没有产品时,B线程会wait,等待唤醒
请指点童鞋......
完全手写的代码,有错误的符号的话自己改下吧。大概的意思就是这样
A:
生产出产品就add到c中就可以
Product p=.....;
synchronized(c){
c.add(p);
c.notify();
}
B:
run方法中进行下面的处理就可以
while(true){
Product p=null;
synchronized(c){
p=c.getOne();
if(p==null){
c.wait();
}else{
deal(c);//2次处理产品
}
}
}