LabVIEW-队列
LabVIEW同步技术:同步控制技术可以实现在多个VI之间或者同一VI 不同线程之间同步任务和交换数据;在LabVIEW中提供了‘同步’函数选板,包括通知器、队列、信号量、集合点、事件、首次调用函数;本文主要关注同步控制技术-队列技术:

2、“获取队列引用”函数:返回队列的引用。队列最大值(接线端):是队列要保持的元素的最大数量。 默认值为–1,表示队列的元素数量没有限制。名称(接线端):包含要获取或创建的队列的名称。 默认值为空字符串,用于创建无名称的通知器。元素数据类型(接线端):是需要队列包含的数据类型。 该输入端是变体可连线任意数据类型。如未找到是否创建?(接线端):指定名称指定的队列不存在时,是否创建新的队列; 如值为TRUE(默认值),指定名称的队列不存在时,函数可创建新的队列。队列输出(接线端):是对已有队列或函数创建的新队列的引用。新建?(接线端):函数创建新的队列时,值为TRUE。

3、“元素入队列”函数:队列后端添加元素。队列是队列引用(接线端): 通过获取队列引用函数获取队列引用。元素(接线端):是添加至队列末尾的元素, 数据类型可匹配队列的子类型。超时毫秒(接线端):指定队列满时,函数等待队列可用的时间,以毫秒为单位; 默认值为–1,永不超时。如函数的等待时间超过超时毫秒时队列仍然是满的,超时?输出的值为TRUE。队列输出(接线端):是对未改动队列的引用。超时?(接线端):如函数超时并且队列中无可用空间或出现错误,则值为TRUE。

4、“预览队列元素”函数:返回队列前端的元素且不删除该元素。队列是队列引用(接线端): 通过获取队列引用函数获取队列引用。超时毫秒(接线端):指定队列为空时,函数等待队列可用元素的时间,以毫秒为单位。 默认值为–1,永不超时;如函数的等待时间超过超时毫秒时队列仍为空,超时?的值为TRUE。队列输出(接线端):是对未改动队列的引用。元素(接线端):是队列前部的元素。 数据类型可匹配队列的子类型。超时?(接线端):如函数等待超时而队列中仍然没有出现可用元素或出现错误,参数值为TRUE。

5、“获取队列状态”函数:返回昼娥仆膛队列的当前状态信息(例如,当前队列中的元素个数),也可使用该函数检查队列是否为有效的队列引用句柄,如队列为无效的队列引用句柄,函数可返回错误代码1。队列(接线端):是队列引用。 通过获取队列引用函数获取队列引用。返回元素?(接线端):表明是否返回队列中的元素。 如值为FALSE(默认值),函数不返回队列中的元素。队列最大值(接线端):是队列能包含的元素数量的最大值。如队列最大值为-1,队列可包含任意数量的元素。队列名称(接线端):是队列的名称。队列输出(接线端):是对未改动队列的引用。待处理删除数量(接线端):是“元素出队列”或“预览队列元素”函数当前等待从队列中删除的元素。 更多信息,见元素出列和预览队列元素函数。待处理插入数量(接线端):是当前等待使元素插入队列的函数的数目, 元素入队列或队列最前端插入元素函数可用于使元素插入队列,如队列最大值为–1,待处理插入数量为0。队列中元素数量(接线端):返回当前队列中元素的数目。元素(接线端):返回但并不删除当前队列中的所有元素。 如返回元素?的值为FALSE,数组为空。数据类型可匹配队列的子类型。

6、“释放队列引用”函数:释放昼娥仆膛队列引用。队列(接线端):是队列引用, 通过获取队列引用函数获取队列引用。强制销毁?(接线端):表明是否需要销毁队列。 如值为FALSE(默认)并且需要销毁队列,可调用“释放队列引用”函数,调用次数与获取引用的次数相等,或停止使用队列引用的所有VI。如值为TRUE,可由该函数销毁队列,用户无需多次调用“释放队列引用”函数或停止所有使用该通知器引用的VI。销毁队列可使所有指向队列的引用无效。队列名称(接线端):是队列的名称。剩余元素(接线端):该数组由函数释放队列前队列中包含的元素组成。 数组中的第一个元素是队列前部的元素,最后一个元素是队列后部的元素,数据类型可匹配队列的子类型。

8、"队列最前端插入元素" (函数):在队列前端添加元素。队列队列(接线端):是队列引用。 通过获取队列引用函数获取队列引用。元素队列(接线端):是要加入队列前部的元素。 数据类型可匹配队列的子类型。超时毫秒队列(接线端):指定队列满时,函数等待队列可用的时间,以毫秒为单位。 默认值为–1,永不超时。如函数的等待时间超过超时毫秒时队列仍然是满的,超时?输出的值为TRUE。队列输出队列(接线端):是对未改动队列的引用。超时?队列(接线端):如函数超时并且队列中无可用空间或出现错误,则值为TRUE。

9、"元素出队列" (函数):删除队列前端的一个元素并返回该元玟姑岭箫素。如队列为空,则函数在超时前等待超时毫秒。如等待期间队列中出现剩余元素,函数可清除该元素且超时?为FALSE。如队列无效(例如,释放队列引用),则函数停止等待并返回错误代码1122。队列(接线端):是队列引用。 通过获取队列引用函数获取队列引用。超时毫秒(接线端):指定队列为空时,函数等待队列可用元素的时间,以毫秒为单位。 默认值为–1,永不超时。如函数的等待时间超过超时毫秒时队列仍为空,超时?的值为TRUE。队列输出(接线端):是对未改动队列的引用。元素(接线端):是队列前部的元素。 数据类型可匹配队列的子类型。超时?(接线端):如函数等待超时而队列中仍然没有出现可用元素或出现错误,参数值为TRUE。

10、清空队列 (函数):删除队列中的所有元素并通过数组返回元素,该函数不释放队列引用。使用释放队列函数可释放引用。队列(接线端):是队列引用。 通过获取队列引用函数获取队列引用。队列输出(接线端):是对未改动队列的引用。剩余元素(接线端):该数组包含从队列中删除的元素。 数组中的第一个元素是队列前部的元素,最后一个元素是队列后部的元素。数据类型可匹配队列的子类型。


