经典问题-生产者和消费者

时间:2021-04-12 20:22:17

下面的代码是只能生产和消费1个产品,如果是多个就需要修改标志位和循环条件。

 

去除代码中的注释部分,可以帮助你理解多线程的操作原理。

 

修改多个产品可以添加

private final int maxNumber;

private int currentNum;

 

while(currentNum == maxNumber) {

   produece waiting 

}

 

......

可以使用vector保存产品。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

测试结果:

 

 

 

 

修改代码:

 

 

 

你可以看看多个生产者的情况: