超市员工处理商品
package com.eduask.t4;
public class Clerk {
private int product=0;//产品默认0; //生产者生成出来的产品交给店员
public synchronized void addProduct(){
if(this.product>=20){
try {
wait();//产品已满,请稍等在生产
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块 e.printStackTrace();
}
}else{ product++; System.out.println("生产者生产地"+product+"个产品。"); notifyAll(); //通知等待区的消费者今天取产品了
}
} //消费者从店员处取产品
public synchronized void getProduct(){
if(this.product<=0){
try { wait();//产品没有货了,请稍等再取
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块 e.printStackTrace();
}
}else{ System.out.println("消费者取走了第"+product+"个产品");
product--; notifyAll();//通知等待区的生成者可以生产 产品
}
}
}