LabVIEW可重入VI,VI模板和动态VI之间的差异

news/2024/11/17 16:17:41/

LabVIEW可重入VI,VI模板和动态VI之间的差异

应该在何时使用可重入VI、模板VI和动态调用VI?这三种类型之间有什么区别?

可重入VI

当想要同时运行同一VI的多个实例时,将使用可重入VI。当VI不可重入时,VI只有一个数据空间。因此,一次只能有一个调用者运行VI,因此调用者可能必须“等待轮到它”时才能使用VI。这是VI的默认选项,但可以将VI设置为可重入。其中有两种类型的重入:共享和预分配。

共享的可重入VI

如果选择了共享克隆可重入执行选项,则VI会具有一个数据空间池(与克隆池相同)。最初在调用VI开始时只创建两个克隆。调用者将使用其中一个数据空间,但它并不知道使用的时哪个数据空间,并且它可能是后续调用中的不同实例。当池中没有足够的数据空间(克隆)用于一定数量调用者同时调用时,将创建新的数据空间(克隆)并将其添加到池中。这里“实例之间共享克隆”中的“共享”一词意味着数据空间可以由多个调用者随时间使用。如果有20个针对SubVI的调用,但是这些调用发生的时间最多中只有两个调用同时进行,则池中只有两个数据空间,它们将在20个调用中“共享”。由于根据当前需要仅创建必要数量的克隆,因此优化了存储器使用。为了实现最快的执行速率和最佳的内存优化,建议使用此选项。

预先分配的可重入VI

如果选择了预分配克隆可重入执行选项,则每个调用者都有自己的私有数据空间(和克隆)。如果有20次调用VI,则在调用VI开始时将创建20个克隆并将其添加到池中。如果调用模式与上述调用模式类似,则可能只有两个同时忙碌。如果要对SubVI的给定实例的每次调用都使用相同的克隆(例如,如果SubVI需要将数据从这次调用保持到下次调用)的话,则使用这种类型的重入VI。共享克隆在这种情况下不起作用,因为您永远不会知道SubVI的哪个实例上次使用了您将要使用的克隆,并且存储的信息将在SubVI之间无法预测地“串扰”。 “预分配”意味着对于每次调用,都会创建该次调用的数据空间和克隆。预分配发生在VI运行之前。如果要打开同一VI的多个前面板,可重入的SubVI选项将不起作用。

如果要多次打开的VI是顶层VI,则可以将磁盘上的顶层VI复制到具有唯一名称的临时目录并打开新文件实例,没有必要复制任何SubVI。只需复制顶层VI,然后,您可以使用VI Server打开并运行副本。

模板VI

可以将多实例面板制作成模板VI,然后每次从模板打开文件。 VI模板是具有 .vit 扩展名的VI。可以在 文件»新建»从模板开始 下从模板创建新VI。这将创建一个具有自己内存空间的VI的新实例。它们在创建时具有不同的存储位置,且仅用作制作另一个VI的起点。然后,您需要配置新创建的VI是否可重入。

动态VI

可以使用VI Server打开VI和VI模板。 VI Server 用于动态加载和运行VI。使用SubVI时,加载顶层VI时会加载SubVI的代码和数据空间。当动态加载VI时,在VI服务器调用SubVI之前,不会加载其代码,而不是将其用作SubVI并在调用主程序时加载代码。这样可以在启动时节省内存。

相关信息

完成以下步骤将VI更改为可重入:

  1. 导航到文件»VI属性 。

  1. 导航到类别»执行 。

  1. 确保Reentrancy选项设置为SharedPreallocated 。


http://www.ppmy.cn/news/977611.html

相关文章

一分钟学一个 Linux 命令 - rm

前言 大家好,我是 god23bin,欢迎回到咱们的《一分钟学一个 Linux 命令》系列,今天我要讲的是一个比较危险的命令,rm 命令,没错,你可以没听过 rm 命令,但是删库跑路你不可能没听过吧&#xff1f…

自然语言处理从入门到应用——LangChain:模型(Models)-[聊天模型(Chat Models):使用少量示例和响应流式传输]

分类目录:《自然语言处理从入门到应用》总目录 使用少量示例 本部分的内容介绍了如何在聊天模型(Chat Models)中使用少量示例。关于如何最好地进行少量示例提示尚未形成明确的共识。因此,我们尚未固定任何关于此的抽象概念&#…

【NLP】图解变压器(transformer)

一、说明 在这篇文章中,我们将看看 The Transformer——一个利用注意力来提高这些模型训练速度的模型。转换器在特定任务中优于谷歌神经机器翻译模型。然而,最大的好处来自变压器如何适应并行化。事实上,谷歌云建议使用The Transformer作为参…

IMU和视觉融合学习笔记

利用纯视觉信息进行位姿估计,对运动物体、光照干扰、场景纹理缺失等情况,定位效果不够鲁棒。当下,视觉与IMU融合(VI-SLAM)逐渐成为常见的多传感器融合方式。视觉信息与IMU 数据进行融合,根据融合方式同样可分为基于滤波…

iptables安全技术和防火墙

防火墙:隔离功能 位置:部署在网络边缘或主机边缘,在工作中,防火墙的主要作用是决定哪些数据可以被外网访问以及哪些数据可以进入内网访问,主要在网络层工作 其他类型的安全技术:1、入侵检测系统 2、入侵…

Day_71-76 BP 神经网络

目录 一. 基础概念理解 1. 一点个人理解 2. 神经网络 二. bp神经网络的局部概念 1. 神经元 2. 激活函数 三. bp神经网络的过程 1. 算法流程图 2. 神经网络基础架构 2.1 正向传播过程 2.2 反向传播过程(算法核心) 四. 基本bp神经网络的代码实现 1. 抽象…

Commands Of Hadoop

序言 持续整理下常用的命令cuiyaonan2000163.com Command 文件拷贝 当从多个源拷贝时,如果两个源冲突,distcp会停止拷贝并提示出错信息,. 如果在目的位置发生冲突,会根据选项设置解决。 默认情况会跳过已经存在的目标文件&am…

会点C++还需要再学Python吗?

提到的C、数据结构与算法、操作系统、计算机网络和数据库技术等确实是计算机科学中非常重要的基础知识领域,对于软件开发和计算机工程师来说,它们是必备的核心知识。掌握这些知识对于开发高性能、可靠和安全的应用程序非常重要。Python作为一种脚本语言&…