注:为了便于理解,我使用了不规范的写法汉字来命名。
生产者生产产品,消费者消费产品,商店作为中间商从生产者那里进货,然后再把这些货买个消费者。
产品代码:
package xiancheng.生产者消费者;
public class 产品 {
private Integer id;
public 产品(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "产品{" +
"id=" + id +
'}';
}
}
商店代码:
package xiancheng.生产者消费者;
//负责从生产者那里进货,将商品卖给消费者
public class 商店 {
//描述了库存最多存放10个产品
private 产品[] 库存 = new 产品[10];
private int index = 0;
private int 实际库存量 = 0;
//这个会被生产者调用,将产品传递过来
public synchronized void 进货(产品 cp) {
if (实际库存量 == 10) {
//库存满了,不能放了
System.out.println(