目录
一丶生产者消费者模型
1.生产者消费者模型的概念
在现实生活中,当我们缺少某些生活用品时,就会到超市去购买。当你到超市时,你的身份就是消费者,那么这些商品又是哪里来的呢,自然是供应商,那么它们就是生产者,而超市在生产者与消费者之间,就充当了一个交易场所。正是这样的方式才使得人类的交易变得高效,生产者只需要向超市供应商品,消费者只需要去超市购买商品;
生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。
2. 生产者消费者模型的特点
我们将其总结为321原则:3种关系、2个角色和1个场所
3种关系:
- 生产者VS生产者 --- 两者是互斥关系
- 消费者VS消费者 --- 两者是互斥关系
- 生产者VS消费者 --- 两者是同步+互斥关系
2个角色:生产者和消费者
1个场所:通常指的是内存中的一个缓冲区,用于数据交互