①. 生产者和消费者模式概述
①. 生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产消费者问题,实际上主要是包含了两类线程:
一类是生产者线程用于生产数据
一类是消费者线程用于消费数据
②. 为了耦合生产者和消费者的关系,通常会采用共享的数据区域,就像一个仓库
生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为
消费者只需要从共享数据区中获取数据,并不需要关心生产者的行为
③. 线程四句口诀 掌握
在高内聚低耦合的前提下,线程 - >操作 - >资源类
[假如有一个空调,三个人去操作这个空调,高内聚低耦合是指空调有制热制冷的效果,它会把这两个抽取成一个方法,对外以接口的形式去暴露,提供给操作空调的人或线程使用]
判断|操作|唤醒 [ 生产消费中 ]
多线程交互中,必须要防止多线程的虚假唤醒,也即(判断使用while,不能使用if)
(Java多线程中的虚假唤醒和如何避免)
标志位