LabVIEW 内置有一些 消息、同步 工具 ,而 队列 queue 是最常用的消息结构之一。
队列 是一组 有序 的元素。入队就是增加一个元素到队列中,出队就是从队列中删除一个元素,并且数据项为 先进先出(FIFO)顺序。

队列操作

队列操作描述
创建队列:要使用队列,首先需要创建队列,使用 Obtain Queue 函数创建一个队列,或返回一个现有(已经命名的) 队列的引用。用户必须指定 element data type 参数,可以指定为任何 LabVIEW 数据类型。
元素入队和出队:Enqueue Element 函数、Dequeue Element 函数、Enqueue Element at Opposite End函数
删除所有元素并以返回元素数组:Flush Queue 函数
释放队列的一个引用:Release Queue 函数
获得队列状态信息:Get Queue Status 函数、Preview Queue Element 函数
使用小tips:
-
队列操作函数可以用于创建同一个VI不同线程之间或者不同VI间进行数据通信的队列,队列函数可缓冲数据。
-
通常只应在1个位置从队列中取出(读)元素,称为消费者; 然而可以从多个位置向队列中添加(写)元素(并且常常很有用),称为生产者。
-
如果需要多个消费者,则应该为每个消费者创建各自的队列。
-
队列在生产者/消费者情况下很有用,其中一部分代码正在创建要由另一部分使用的数据。使用队列的优点是生产者和消费者的速率不必相同。如果消耗比生产慢,则队列最终将变满,并且生产者代码将被迫等待消费者在新元素排队之前将元素排队。
-
每次调用 Obtain Queue 函数后,要调用 Release Queue 函数释放内存。
本文介绍了LabVIEW中的队列操作,包括创建、元素进出、清除和状态获取,重点讲解了队列在多线程通信中的应用,以及生产者消费者模型的实践技巧。通过实例演示队列如何优化不同VI间的数据交换和速率控制。
—— 队列 queue&spm=1001.2101.3001.5002&articleId=120479686&d=1&t=3&u=acd72034fb4040f5bd5c1a9851cdbe24)
5885

被折叠的 条评论
为什么被折叠?



