下面的代码是只能生产和消费1个产品,如果是多个就需要修改标志位和循环条件。
去除代码中的注释部分,可以帮助你理解多线程的操作原理。
修改多个产品可以添加
private final int maxNumber;
private int currentNum;
while(currentNum == maxNumber) {
produece waiting
}
......
可以使用vector保存产品。
测试结果:
修改代码:
你可以看看多个生产者的情况: