为什么要用生产者消费者
生产者消费者模型通过一个容器解决生产者和消费者的强耦合(强度相互依赖)问题。生产者消费者彼此间不直接通讯,而通过阻塞队列进行通讯,即生产者生产完数据,不用等待消费者消费数据,直接扔给阻塞队列,消费者不找生产者要数据,而是从阻塞队列里取,阻塞队列相当于一个缓冲区,平衡生产者和消费者的处理能力。这个阻塞队列就是用给生产者和消费者解耦的。
优点
1. 解耦:降低生产者和消费之间的依赖关系。2 支持并发。3 支持忙闲不均
如何防止问题产生
防止消费者读取垃圾文件,设置两个互补变量,当缓冲没有数据时候,拒绝读取,当缓冲数据满了的时候拒绝存储,直到有数据被读出