码迷,mamicode.com
首页 > 其他好文 > 详细

生成者消费者模式,如何避免消费者一直处于饥饿状态

时间:2016-11-27 23:31:55      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:容量   线程等待   bsp   速度   元素   生产者   避免   生成   如何   

如果消费者的速度更快,那么消费者总是处于饥饿状态,队列总是处于空状态,生产者生产一个元素立刻就唤醒消费者消耗掉了,有效的队列容量其实只有1,导致消费者每次消费的都是队列中唯一一个元素,每次消费完都处于等待状态。

 

相反,如果生产者更快,则队列总是处于满状态,消费者总是消费队列中最旧的元素,导致生产者每次生产一个元素后又处于等待状态。

 

如何避免这种每生产或消费一个元素,生产者或消费者线程等待和激活状态频繁的切换呢?

生成者消费者模式,如何避免消费者一直处于饥饿状态

标签:容量   线程等待   bsp   速度   元素   生产者   避免   生成   如何   

原文地址:http://www.cnblogs.com/mlj318/p/5237897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!