Linux生产者消费者模型浅析

iloveyin 19 0 PDF 2021-01-16 17:01:08

一、概念 生产者:产生数据的的模块。 消费者:处理数据的模块。 那么生产者产生数据之后,消费者怎么拿,从哪拿呢?所以,仅仅有这两个角色是不能完成我们期望的工作的。还需要一个缓冲区,像超市的货架一样,供货商(生产者)将商品摆到货架(缓冲区)上,购买者(消费者)从货架上拿走,这个货架也是必不可少的。 试想如果没有缓冲区,生产者生产一个数据之后,必须等待消费者消费完成,生产者才能继续生产,那么如果生产者很快,而消费者很慢,那么只能让生产者干等。这好比让CPU和外设直接打交道,如果没有缓存,还不得慢死,白白浪费CPU时间。 抽象出此模型如下: 接下来说明三种

用户评论
请输入评论内容
评分:
暂无评论