本文描述基于事件的生产者消费者模式。
例子在labview 2018版编写,可以运行。
为什么需要生产者消费者模式
1.1工业生产中的例子。
(1) 在小生产作坊中,往往一个人把一个产品的很多工序都做完,直到做成成品。
(2) 在稍有规模的工厂中,引入了流水线,把产品分成许多工位。一个工位做一些工序,
然后交给下 一 个工位的工人继续做。
(3) 这样做起了分工的作用,每个人只做擅长的工作,把每个工位的时间缩短了,从管理学
的角度实现了责任分开,当前工位是下一个工位的生产者,下一个工位是当前工位的消费者。
1.2 引入这种模式,解决了什么问题
从软件工程的角度看,这样做起到了解耦的作用,容易实现层级(界面、业务流程、数据)分明的程序,便于阅读和修改。
例子
2.1 用labview 的模板很容易生成生产者消费者模式的程序。
图1-新建
图2-选择模板,然后确定
2.2 在生产的模板的前面板添加
图3-添加一个字符串输入框和一个字符串显示框
2.3在连线板上添加
图4 在模板连线板上替换和增加
(把element字符串替换成字符串元素,添加下面绿框内部分)
2.4 说明
在图4中,对列中的元素是字符串,可以是任何类型。
(1)(按指定类型)生成队列
(2) (在尾部)插入队列
(3) (在头部)取出队列
(4) 释放(销毁)队列
3.用途
最常见的用途:
用于界面显示、写入(如报表文件)、写入查询数据(如数据库)、密集计算(如机器视觉、音频处理)、通讯(ModbusTcp、ModbusRtu)等费时的任务,使界面操作(按钮、键盘输入)灵敏和显示迅速,或者通俗的称为不卡。
4.下载链接
https://download.csdn.net/download/weixin_39926429/87587840