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

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

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

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

UML图:

设计模式——生产消费者模式_第1张图片

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

代码:

仓库

设计模式——生产消费者模式_第2张图片

设计模式——生产消费者模式_第3张图片

消费者:

设计模式——生产消费者模式_第4张图片

生产者:

设计模式——生产消费者模式_第5张图片

在main中的调用:

设计模式——生产消费者模式_第6张图片 

 

 

 

 

 

 

你可能感兴趣的:(提高代码质量)