生产者与消费者模型

为什么要使用生产者与消费者模型
在多线程的开发中,如果生产者处理效率很高,消费者处理效率很低,那么生产者必须等待消费者处理完才能生产数据,同样,消费者处理效率很高,生产者处理效率很低,那么消费者就必须等待生产者生产数据。为了解决这个处理效率不一致,充分发挥生产者与消费者的性能,就引入了生产者与消费者模型。
什么是生产者和消费者模型
生产者和消费者模式通过一个容器来解决生产者与消费者速率不匹配导致的阻抗不匹配,解耦是它的另一个作用。生产者与消费者之间不直接通讯,而是通过阻塞队列来进行通讯,所以生产者不用等待消费者消费,直接丢给阻塞队列,同理,消费者也是一样,不用通过生产者取得数据,而是从阻塞队列里面拿取数据。这样,队列就相当于一个缓冲区,一个容器,平衡生产者与消费者的处理能力。

在这里插入图片描述
如图:一共有三种关系:生产者与生产者的互斥关系,消费者与消费者的互斥关系,生产者与消费者的互斥且同步关系。
两种角色:生产者(线程)与消费者(线程)
一个交易场所:仓库(一段内存空间,且可存可取)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值