设计模式——生产消费者模式

设计模式——生产消费者模式

生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。

像图片下载加载的模型就可以参考这个模型。

UML图:

设计模式——生产消费者模式

消费者和生产者同时对仓库(即这里的队列)里的货物进行操作,这里需要注意的是线程的控制和数据的线程安全问题。消费者和生产者都和仓库有着关联,但不一定是聚合关系,只是消费者和生产者持有仓库类。

代码:

仓库

设计模式——生产消费者模式

设计模式——生产消费者模式

消费者:

设计模式——生产消费者模式

生产者:

设计模式——生产消费者模式

在main中的调用:

设计模式——生产消费者模式