Java生产者消费者模型,消费者没法唤醒
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
全部评论
你的代码我正常运行,这个Main对象传入到生产者和消费者我觉得会正常实现楼主的生产者消费者的做法。
consumer中的第一个notifyall空打了一炮,后面t1一直在wait。占用着锁。然后其他线程也就一直堵塞在consumer方法?
p2 notifyAll的时候,消费者获取不到锁不会被唤醒,p2 wait之后释放锁,阻塞的p1获取锁,如此循环了。你想要的效果可以用条件变量试试。不过这也不是生产消费者模型吧,你的buffer没有界诶。
单纯的consumer竞争不过两个producer,synchronized是非公平锁。你在producer方法的wait()后面sleep 1s看看。
相关推荐
点赞 评论 收藏
分享
01-17 08:34
门头沟学院 Java 点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
深信服
| 校招
| 14个岗位
点赞 评论 收藏
分享