当前位置: 首页 > article >正文

LabVIEW 队列消息处理器设计

LabVIEW 队列消息处理器设计

  • 队列消息处理器升级模式详解
  • 队列状态机学习概述
  • 队列状态机函数
    • 获取队列引用函数
    • 元素入队列函数
    • 元素出队列函数
    • 队列最前端插入元素函数
    • 释放队列引用函数
  • 队列消息处理器基本结构

队列消息处理器升级模式详解

当我们需要动态地根据用户的输入改变状态序列时,状态机模式的劣势就显现出来,因为其状态序列是固定规定好的,一旦程序运行越来就无法修改。为此,需要引入消息队列模式,通过建立队列缓冲区来解决这个问题。这种模式也称为“队列型状态机模式”,但是由于其应用和原理都并不局限于状态机模式,所以为了避免混淆,一般称为“消息队列处理模式”

程序员可以将消息队列看成一段存储空间,用来暂存各种消息。之所以称为队列,是由其消息处理机制决定的,按照FIFO(先进先出)的思想,需要使用队列的方式处理各种消息。在程序初始化时,首先创建消息队列缓冲器,程序可以根据发生的事件将相应的消息投入到消息队列中,消息处理机构会实时探测消息队列中的消息并按照消息处理机制进行处理:当消息被接收后程序会执行相应的代码并将该消息从消息队列中删除;当接收到消息“Exit"时,应用程序会停止运行,并释放队列空间。

在这里插入图片描述

队列状态机学习概述

建立消息队列的方式有多种,常用的是使用队列函数和数组。队列函数位于“同步→队列操作”函数子选板中,常用的4个是获取队列引用,元素入队列,元素出队列和释放队列引用。而使用数组操作函数对消息进行操作,结构简单,只需要配合移位寄存器使用即可,不需要额外的函数而且不需要使用特别的函数手动销毁队列空间,在应用程序退出时会自动销毁队列。

队列状态机函数

获取队列引用函数

在这里插入图片描述

元素入队列函数

在这里插入图片描述

元素出队列函数

在这里插入图片描述

队列最前端插入元素函数

在这里插入图片描述

释放队列引用函数

在这里插入图片描述

队列消息处理器基本结构

在这里插入图片描述
因为这个消息分支它条件结构为字符型,所以说它必须要有默认分支。

初始化我们首先要创建一个获取一个队列的引用。我们首先去排一个人去排一个元素去排队。然后这时候我们获取引用传递到两个while循环里面

(元素入队列函数)这边既然这边入了一个元素,(元素出队列函数)那这边肯定会出来一个元素。那当它入一个元素,它出一个元素之后,我们通过消息处的一个解绑,来到消息分支可以获取到。

在这里插入图片描述

进入“Init”。初始化来之后,先把显示的消息给初始化掉,给清空掉。

接下来我们就进入一个事件等待的过程。因为它初始化完了之后,它下一步操作没有进行跳转,所以说他下一步就一直停留在等待的这个环节里面。

在这里插入图片描述

再接下来看事件处理循环。他有三个动作。
如果按下了动作1 按钮,事件这个循环里面首先它会收集到一个动作1的值改变的事件。

在这里插入图片描述
首先往动作1这个队列里面发送了一个元素,发送的元素是就是Action1 和1个变体。
来到消息处理循环,既然那边发了一个元素,这边肯定又会收到一个元素。通过解绑来到消息分支
在这里插入图片描述
运行“Action 1”。跳到更新显示的这个分支里,它进行了一个跳转。然后往这个消息数据里,也就是往这个变体里发送了一个动作。在经过变体里发送了一个动作。

在这里插入图片描述
更新显示环节里来之后,首先把这个变体转换为我们就是字符串数据,然后显示出来结束。

在这里插入图片描述
执行停止的一个条件。当停止时间按下之后,它跳到退出里面来,这时候显示退出数据销毁引用,这时候给一个停止的条件,然后它退出。


http://www.kler.cn/a/421468.html

相关文章:

  • 【JMX JVM监控】Prometheus读取Trino的JMX数据到Grafana展示
  • 电脑关机的趣味小游戏——system函数、strcmp函数、goto语句的使用
  • 前端的面试题
  • 网络安全(三):网路安全协议
  • 如何手动设置ubuntu服务器的ip、子网掩码、网关、DNS
  • vue实现echarts饼图自动轮播
  • 云计算介绍_02(虚拟化、虚拟化类型、虚拟化层架构、容器)
  • 鸿蒙多线程开发——Sendable使用注意事项
  • 【docker】docker compose多容器部署
  • Rain后台权限管理系统,快速开发
  • 我的知识图谱和Neo4j数据库的使用
  • AI×5G 市场前瞻及应用现状
  • 深入探索 HarmonyOS 的 Navigation 组件:灵活的页面管理与动态导航
  • win10-Docker打不开this can prevent Docker from starting. Use at your own risk.
  • 【C++】LeetCode:LCR 022. 环形链表 II
  • 数字图像处理(13):图像裁剪
  • 银河麒麟V10-SP1设置redis开机自启
  • Web安全基础实践
  • 论文阅读:Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris
  • 【docker】Overlay网络
  • 【分页查询】.NET开源 ORM 框架 SqlSugar 系列
  • ceph的用户管理和cephx认证
  • 代理动态代理
  • Web开发基础学习——HTML, CSS, JavaScript 的区别和联系
  • Java 整合图片处理相关一套:传输、保存、重命名、删除、AI图片文字识别、图片映射、vue3裁剪、设置黑白色、设置负片、提高照片品质
  • 【版本控制】SVN安装到使用一条路讲解