文章目录
生产者/消费者设计模式
生产者/消费者是多线程编程中最基本的一种模式,使用非常普遍。从软件角度看,生产者就是数据的提供方,而消费者就是数据的消费处理方,二者之间存在一个数据缓存区。
- 在新建中可创建生产者 / 消费者设计模式(事件)。
- 如下图所示,第一个while循环为生产者循环,用来响应界面上的用户事件,从而产生需要处理的任务消息(不处理具体的任务),接着把要处理的任务通过消息的形式记录下来,即元素如队列(生产),第二个while循环为消费者循环,通过元素出队列,拿到相关的任务消息并进行处理(消费)。
- 演示:在消费者循环中对任务消息进行弹出单按钮对话框的处理。
案例:控制LED等亮灭
- 如下图所示,为程序框图和前面板的设计,其原理是通过按钮触发事件,当按下Open按钮时,在生产者循环中将
LED ON
任务消息入队列,在消费者循环中获取任务消息内容,通过条件结构进入对应的分支,进行处理,即灯亮。
- 运行结果: