队列同步控制技术可以实现在多个VI之间或者同一VI不同线程之间同步任务和交换数据。
在LabVIEW中提供了‘同步’函数选板,包括通知器、队列、信号量、集合点、事件、首次调用函数。
1、特点
(1)先入先出
(2)可以设置队列的大小,当队列满的时候,协调队列的输入和输出,让输入(也就是元素如队列)等待,直到出现了存储空间,才执行输入。
2、队列上溢和下溢
使用队列函数以不同的速率入队列和出队列数据,可能导致上溢或下溢。
入队列循环使用元素入队列函数将数据输入队列。
出队列循环使用元素出队列函数将数据移出队列。
如入队列循环运行速度高于出队列循环,队列将很快被填满。
由于队列固定大小为50,因此入队列循环必须等待队列空间,才能继续输入队列元素。
同理,如出队列循环运行速度高于入队列循环,出队列循环必须等待直至队列中包含元素。
队列状态循环通过获取队列状态函数显示队列中的当前元素。用户单击停止时,队列状态循环停止执行,并调用释放通知器引用函数。这将使通知器引用无效,并导致入队列循环和出队列输出错误并结束执行。