设计模式——生产消费者模式
生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。
像图片下载加载的模型就可以参考这个模型。
UML图:
![](https://img.haomeiwen.com/i16430698/a635386d4523d1e7.png)
消费者和生产者同时对仓库(即这里的队列)里的货物进行操作,这里需要注意的是线程的控制和数据的线程安全问题。消费者和生产者都和仓库有着关联,但不一定是聚合关系,只是消费者和生产者持有仓库类。
代码:
仓库
![](https://img.haomeiwen.com/i16430698/f7815ca838d09026.png)
![](https://img.haomeiwen.com/i16430698/a1488a391f2eff13.png)
消费者:
![](https://img.haomeiwen.com/i16430698/e65cc3450c92aca8.png)
生产者:
![](https://img.haomeiwen.com/i16430698/434306fde2bd7e78.png)
在main中的调用:
![](https://img.haomeiwen.com/i16430698/dd5db64d129fedc6.png)
设计模式——生产消费者模式
生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。
像图片下载加载的模型就可以参考这个模型。
UML图:
消费者和生产者同时对仓库(即这里的队列)里的货物进行操作,这里需要注意的是线程的控制和数据的线程安全问题。消费者和生产者都和仓库有着关联,但不一定是聚合关系,只是消费者和生产者持有仓库类。
代码:
仓库
消费者:
生产者:
在main中的调用:
本文标题:生产消费者模式
本文链接:https://www.haomeiwen.com/subject/dwyeyqtx.html
网友评论