这些都是根据我最近看的《Java实战指南多线程编程(设计模式篇)》所得整理。
模式名称
Producer-Consumer生产者消费者模式
模式面对的问题
有的线程的结果是另外一些线程的原料,也就是说,一些线程是生产者,另外一些线程是消费者,消费者需要生产者生产的东西才能正常运行,协调两者的关系成了一个大的问题。
解决思路
有一个中间的存储位置,用来存储生产者生产出来的东西,称之为通道。
Producer生产者
Product生产者所生产的任务
Channel通道的抽象
BlockingQueueChannel基于阻塞队列的Channel实现
Consumer消费者