隊列同步控制技術可以實現在多個VI之間或者同一VI不同線程之間同步任務和交換數據。
在LabVIEW中提供了‘同步’函數選板,包括通知器、隊列、信號量、集合點、事件、首次調用函數。
1、特點
(1)先入先出
(2)可以設置隊列的大小,當隊列滿的時候,協調隊列的輸入和輸出,讓輸入(也就是元素如隊列)等待,直到出現了存儲空間,才執行輸入。
2、隊列上溢和下溢
使用隊列函數以不同的速率入隊列和出隊列數據,可能導致上溢或下溢。
入隊列循環使用元素入隊列函數將數據輸入隊列。
出隊列循環使用元素出隊列函數將數據移出隊列。
如入隊列循環運行速度高於出隊列循環,隊列將很快被填滿。
由於隊列固定大小為50,因此入隊列循環必須等待隊列空間,才能繼續輸入隊列元素。
同理,如出隊列循環運行速度高於入隊列循環,出隊列循環必須等待直至隊列中包含元素。
隊列狀態循環通過獲取隊列狀態函數顯示隊列中的當前元素。用戶單擊停止時,隊列狀態循環停止執行,並調用釋放通知器引用函數。這將使通知器引用無效,並導致入隊列循環和出隊列輸出錯誤並結束執行。