文章目录
- 这道题想考察什么 ?
- 考察的知识点
- 日常生活中的生产者消费者模式
- 生产者消费者模式简介
- 为什么需要缓冲区?
- 阻塞与非堵塞
- 非阻塞式生产者消费者模式的实现
- 非阻塞式生产者消费者模式的实现
- 阻塞式生产者消费者模式实现
- 特点
这道题想考察什么 ?
- 是否了解非阻塞式生产者消费者与真实场景使用
- 是否熟悉非阻塞式生产者消费者
考察的知识点
非阻塞式生产者消费者的概念在项目中使用与基本知识
日常生活中的生产者消费者模式
在日常生活中,生产者消费者模式
特别常见。
比如说我们去麦当劳吃饭,在前台点餐,付完钱后并不是直接给你汉堡薯条啥的,而是给你一张小票,你需要前去取餐处等待,后厨加工完的餐食都直接放入取餐处,机器叫号提醒,客户凭小票取餐。
上面取餐的场景其实就是一个典型的生产者消费者模型,具备3个部分:
- 生产者 : 后厨
- 消费者:客户
- 缓冲区:取餐台
后厨就相当于生产者,客户就是消费者,而取餐台是两者之间的一个缓冲区。
生产者消费者模式简介
再转到我们平时开发过程中经常会碰到这样子的场景:
某个模块负责产生数据,这些数据由另一个模块来负责处理。
产生数据的模块,就称为生产者,而处理数据的模块,就称为消费者。