前言
那么这里博主先安利一下一些干货满满的专栏啦!
Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014.3001.5482操作系统专栏https://blog.csdn.net/yu_cblog/category_12165502.html?spm=1001.2014.3001.5482手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014.3001.5482
为什么需要生产者消费者模型
生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过队列来进行通讯,所以生产者生产完数据(或任务)之后不用等待消费者处理,直接扔给队列,消费者不找生产者要数据(或任务),而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个缓冲区就是用来给生产者和消费者解耦的。
基于阻塞队列的生产者消费者模型
代码地址
CPModel_BlockQueuehttps://github.com/Yufccode/BitCode/tree/main/Linux/%E4%BB%A3%E7%A0%81/0114%E5%9F%BA%E4%BA%8E%E9%98%BB%E5%A1%9E%E9%98%9F%E5%88%97%E7%9A%84cp%E6%A8%A1%E5%9E%8B
基于环形队列的生产者消费者模型
代码地址
CPModel_RingQueuehttps://github.com/Yufccode/BitCode/tree/main/Linux/%E4%BB%A3%E7%A0%81/0208%E5%9F%BA%E4%BA%8E%E7%8E%AF%E5%BD%A2%E9%98%9F%E5%88%97%E7%9A%84cp%E6%A8%A1%E5%9E%8B