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

来源:互联网 发布:大学生网络贷款的认识 编辑:程序博客网 时间:2024/05/22 03:33

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

 

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

 

修改多个产品可以添加

private final int maxNumber;

private int currentNum;

 

while(currentNum == maxNumber) {

   produece waiting 

}

 

......

可以使用vector保存产品。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

测试结果:

 

 

 

 

修改代码:

 

 

 

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