首页 > 代码库 > 生成者消费者模式,如何避免消费者一直处于饥饿状态
生成者消费者模式,如何避免消费者一直处于饥饿状态
如果消费者的速度更快,那么消费者总是处于饥饿状态,队列总是处于空状态,生产者生产一个元素立刻就唤醒消费者消耗掉了,有效的队列容量其实只有1,导致消费者每次消费的都是队列中唯一一个元素,每次消费完都处于等待状态。
相反,如果生产者更快,则队列总是处于满状态,消费者总是消费队列中最旧的元素,导致生产者每次生产一个元素后又处于等待状态。
如何避免这种每生产或消费一个元素,生产者或消费者线程等待和激活状态频繁的切换呢?
生成者消费者模式,如何避免消费者一直处于饥饿状态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。