首先我们要了解生成者和消费者的基本概念
我们举个小例子
图里是一个奶箱 但里面并没有牛奶 我们想喝也没用
然后 送奶的工人送来了几瓶牛奶
然后工人会把牛奶放进奶箱 然后 把箱子给你锁上
然后你就可以去奶箱里拿奶来喝
这里 我们就可以比喻成 奶箱是一个存储数据的容器 送奶工是生产者 我们是消费者
生产者 和 消费者 是一个非常经典的多线程协作模式
生产者和消费者模式 主要分为两种线程
生产者线程 负责生产数据
消费者线程 负责消费数据
为了更好的解耦生产者和消费者的关系,通常采用共享的数据区域
生产者线程生产数据 放置在共享区域 并不需要关系消费者的行为
消费者 只需要消费共享区的数据 并不需要关系生产者的行为
但其实在运行过程中会出现这样的问题 例如
生产者生产后发现消费者并没有消费
或
消费者消费时 发现生产者并没有生产数据
这就是 我们生产者 消费者模式 经典的等待和唤醒
等待和唤醒
主要就是一下三个方法
生产者和消费者概念也就到这啦