1 什么是生产者与消费者模型
生产者与消费者模型是一种编程模型,它用来解决生产者线程与消费者线程数据交互的问题,简单来说.现有一个生产者与消费者模型,该模型由生产者线程和消费者线程组成。 生产者线程指的是生产数据提供数据的线程,消费者线程指的是处理数据的线程。生产者线程生产好数据以后,将数据放到一个指定的地方,然后消费者线程拿走数据去处理。
2 生产者与消费者模型的应用场景
一个线程产生数据,另一个线程处理数据,用于两个线程间的数据交互。
3 生产者消费者模型的优点
**1. 解耦合:**生产者线程与消费者线程不需要直接接触,而是通过中间的数据缓冲区来进行数据交互,该数据缓冲区由该模型提供。
**2. 支持忙线不均:**当生产数据的速度和处理数据的速度不同步时,可暂时将数据存放在缓冲区以后,再处理。增加了弹性。
3. 支持并发: 支持多个线程的同时操作
4 生产者与消费者模型的实现:
要点总结:
1个场所: 中间 的数据缓冲区
两种角色: 生产者线程和消费者线程: 一个生产数据,一个处理数据
三种关系: 生产者和生产者之间:互斥关系
消费者与消费者之间:互斥关系
生产者与消费者之间:同步+互斥关系
代码实现如下:
在这里插入代码片 pro_cond.cpp+