Java生产者消费者模型,消费者没法唤醒
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
全部评论
你的代码我正常运行,这个Main对象传入到生产者和消费者我觉得会正常实现楼主的生产者消费者的做法。
单纯的consumer竞争不过两个producer,synchronized是非公平锁。你在producer方法的wait()后面sleep 1s看看。
p2 notifyAll的时候,消费者获取不到锁不会被唤醒,p2 wait之后释放锁,阻塞的p1获取锁,如此循环了。你想要的效果可以用条件变量试试。不过这也不是生产消费者模型吧,你的buffer没有界诶。
consumer中的第一个notifyall空打了一炮,后面t1一直在wait。占用着锁。然后其他线程也就一直堵塞在consumer方法?
相关推荐
点赞 评论 收藏
分享
昨天 15:27
湖北工业大学 Java 点赞 评论 收藏
分享
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说 点赞 评论 收藏
分享
