關于labview的隊列的簡單領悟



當入隊列的時間快于出隊列的時間,隊列很快就會滿掉,此時,隊列調節(jié)入隊列循環(huán)等待,當有空間時,執(zhí)行如隊列循環(huán)。當入隊列時間小于出隊列時間時,后一個循環(huán)等待隊列中存在元素時,才能夠讀取元素(元素出隊列)。
t入

反之:

隊列先解釋道這了。
我現(xiàn)在就想試試字符串是不是可以壓進隊列,同時讀出來會是什么樣子。下面的實驗就是:
我謝了這樣的一段代碼,是想讓字符串輸入隊列再讀出來。框圖如下:

發(fā)現(xiàn)這段代碼執(zhí)行不下去。一直在執(zhí)行但是不能結束。
經過分析,我認為是這樣的:由于我把隊列的大小設置成為2,而我需要雅茹三個元素,所以,必須等待有一個元素被讀取之后,才能將第三個元素壓進去。而我設計的這個程序有問題,問題在于:我的后一個循環(huán)的隊列引用是從第一個循環(huán)傳過來的,第一個循環(huán)沒執(zhí)行完,那么第二個循環(huán)就無法執(zhí)行。但是第一個循環(huán)要想結束,必須需要將第三個元素壓入,但是條件是第二個循環(huán)讀出來一個元素。他們互相限制,自然就死循環(huán)了。
于是把程序框圖改成:

隊列引用菜前面直接引過來,就不會出現(xiàn)這樣的問題。并且所有的三個元素沒有丟失。能夠全部壓進隊列并被獨取出來。
另外:如果設置的是字符串的話,確實是以字符串為單位的。壓入的時候什么樣子,讀出來就是什么樣子。就像一個字符串數(shù)組一樣。
OVER
評論