關(guān)于labview的隊(duì)列的簡(jiǎn)單領(lǐng)悟
當(dāng)入隊(duì)列的時(shí)間快于出隊(duì)列的時(shí)間,隊(duì)列很快就會(huì)滿掉,此時(shí),隊(duì)列調(diào)節(jié)入隊(duì)列循環(huán)等待,當(dāng)有空間時(shí),執(zhí)行如隊(duì)列循環(huán)。當(dāng)入隊(duì)列時(shí)間小于出隊(duì)列時(shí)間時(shí),后一個(gè)循環(huán)等待隊(duì)列中存在元素時(shí),才能夠讀取元素(元素出隊(duì)列)。
t入
反之:
隊(duì)列先解釋道這了。
我現(xiàn)在就想試試字符串是不是可以壓進(jìn)隊(duì)列,同時(shí)讀出來(lái)會(huì)是什么樣子。下面的實(shí)驗(yàn)就是:
我謝了這樣的一段代碼,是想讓字符串輸入隊(duì)列再讀出來(lái)。框圖如下:
發(fā)現(xiàn)這段代碼執(zhí)行不下去。一直在執(zhí)行但是不能結(jié)束。
經(jīng)過(guò)分析,我認(rèn)為是這樣的:由于我把隊(duì)列的大小設(shè)置成為2,而我需要雅茹三個(gè)元素,所以,必須等待有一個(gè)元素被讀取之后,才能將第三個(gè)元素壓進(jìn)去。而我設(shè)計(jì)的這個(gè)程序有問(wèn)題,問(wèn)題在于:我的后一個(gè)循環(huán)的隊(duì)列引用是從第一個(gè)循環(huán)傳過(guò)來(lái)的,第一個(gè)循環(huán)沒(méi)執(zhí)行完,那么第二個(gè)循環(huán)就無(wú)法執(zhí)行。但是第一個(gè)循環(huán)要想結(jié)束,必須需要將第三個(gè)元素壓入,但是條件是第二個(gè)循環(huán)讀出來(lái)一個(gè)元素。他們互相限制,自然就死循環(huán)了。
于是把程序框圖改成:
隊(duì)列引用菜前面直接引過(guò)來(lái),就不會(huì)出現(xiàn)這樣的問(wèn)題。并且所有的三個(gè)元素沒(méi)有丟失。能夠全部壓進(jìn)隊(duì)列并被獨(dú)取出來(lái)。
另外:如果設(shè)置的是字符串的話,確實(shí)是以字符串為單位的。壓入的時(shí)候什么樣子,讀出來(lái)就是什么樣子。就像一個(gè)字符串?dāng)?shù)組一樣。
OVER
評(píng)論