我正在尝试用Java编写生产者消费者程序,生产者在队列中插入3个数字,消费者从队列中删除这些数字。我已根据自己的Linkedlist实现实现了自己的Queue。
当我运行我的代码时,我的生产者终止,但我的消费者永远不会终止。我无法弄清楚为什么
(100, 100)
答案 0 :(得分:0)
您需要在消费者中为 while(true)循环添加停止条件,否则它将永远不会完成。您可以在 while 条件下执行此操作:
while(shouldConsume()) {
// consume ...
}
或者在达到条件时打破无限循环:
while(true) {
// consume ...
if (shouldStopConsume()) {
break;
}
}
然后你必须使用适合你的用例的停止条件来实现这些方法。