为什么要使用生产者与消费者模型
在多线程的开发中,如果生产者处理效率很高,消费者处理效率很低,那么生产者必须等待消费者处理完才能生产数据,同样,消费者处理效率很高,生产者处理效率很低,那么消费者就必须等待生产者生产数据。为了解决这个处理效率不一致,充分发挥生产者与消费者的性能,就引入了生产者与消费者模型。
什么是生产者和消费者模型
生产者和消费者模式通过一个容器来解决生产者与消费者速率不匹配导致的阻抗不匹配,解耦是它的另一个作用。生产者与消费者之间不直接通讯,而是通过阻塞队列来进行通讯,所以生产者不用等待消费者消费,直接丢给阻塞队列,同理,消费者也是一样,不用通过生产者取得数据,而是从阻塞队列里面拿取数据。这样,队列就相当于一个缓冲区,一个容器,平衡生产者与消费者的处理能力。
。
如图:一共有三种关系:生产者与生产者的互斥关系,消费者与消费者的互斥关系,生产者与消费者的互斥且同步关系。
两种角色:生产者(线程)与消费者(线程)
一个交易场所:仓库(一段内存空间,且可存可取)
生产者与消费者模型
最新推荐文章于 2024-07-23 10:19:57 发布