Java生产者消费者模型,消费者没法唤醒
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
大佬们帮忙看看这段代码,为啥消费者一直没办法唤醒啊
全部评论
你的代码我正常运行,这个Main对象传入到生产者和消费者我觉得会正常实现楼主的生产者消费者的做法。
单纯的consumer竞争不过两个producer,synchronized是非公平锁。你在producer方法的wait()后面sleep 1s看看。
p2 notifyAll的时候,消费者获取不到锁不会被唤醒,p2 wait之后释放锁,阻塞的p1获取锁,如此循环了。你想要的效果可以用条件变量试试。不过这也不是生产消费者模型吧,你的buffer没有界诶。
consumer中的第一个notifyall空打了一炮,后面t1一直在wait。占用着锁。然后其他线程也就一直堵塞在consumer方法?
相关推荐
10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活 点赞 评论 收藏
分享
