message-queue - 父子VI中的队列消息处理VI,其执行类型设置为预分配(?)
问题描述
在主 VI 中,我有一个服务器和客户端:最后一个执行设置为预分配克隆可重入。我使用队列消息处理程序在服务器和客户端之间传输消息和命令。
下图是突出显示的Queued Message SubVIs的客户端 VI(预分配的克隆可重入执行)。在我之前的问题中,我询问了客户端 VI(预分配)中子 VI 的执行类型,得到的答案是子 VI 也需要预分配。但现在我的问题是关于队列消息处理程序模板 VI。我应该将队列消息处理程序模板VI的执行类型设置为与父VI相同吗?
谢谢
解决方案
在我看来,队列消息处理程序 VI 具有开箱即用的适当重入设置。
例如Enqueue Message
,它应该总是快速执行,是不可重入的,但是Dequeue Message
如果队列中没有消息则等待消息,它是预分配的克隆可重入的。
考虑到这一点很好,因为计时错误可能比简单的数据值错误更难追踪,但对于大多数目的,我认为您可以相信框架的设计者选择正确。
如果您对此真的不满意并且仍然担心不正确的可重入设置可能会给您带来麻烦,那么将所有这些 VI 更改为预分配的克隆可重入并没有什么坏处。除非您使用这些 VI 来传递一些庞大的数据结构,否则预分配的克隆所消耗的额外内存应该很小。
推荐阅读
- javascript - 如何在 Django 中使用 AJAX 显示 rest api?
- python - 用于迭代具有不同数量元素的键的字典的单个函数
- java - JavaFX 在打开新的 TextInputDialog 时取消选择文本
- javascript - 使用 Zendesk api 和 React 创建票证
- c - C时钟程序
- json - How to select current month from list of month in JSON in react native?
- reactjs - reactjs中如何生成表单
- postgresql - 有没有办法获取无法锁定的行的ID?
- javascript - 数组减少方法正在覆盖第一个元素
- mysql - 如何计算特定调查的结果?