设计模式——生产消费者模式
设计模式——生产消费者模式
生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。
像图片下载加载的模型就可以参考这个模型。
UML图:
消费者和生产者同时对仓库(即这里的队列)里的货物进行操作,这里需要注意的是线程的控制和数据的线程安全问题。消费者和生产者都和仓库有着关联,但不一定是聚合关系,只是消费者和生产者持有仓库类。
代码:
仓库
消费者:
生产者:
在main中的调用: