<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 關(guān)于labview的隊列的簡單領(lǐng)悟

          關(guān)于labview的隊列的簡單領(lǐng)悟

          作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
          無意中發(fā)現(xiàn),labview中的隊列在編程中簡約且實用。用白話描述一下隊列就是:創(chuàng)建一個棧,先入先出的棧,通過元素如隊列將該元素壓進(jìn)棧,通過元素出隊列將元素彈出。同時,可以設(shè)置隊列的大小,當(dāng)隊列滿的時候,協(xié)調(diào)隊列的輸入和輸出,讓輸入(也就是元素如隊列)等待,直到出現(xiàn)了存儲空間,才執(zhí)行輸入。
          下面是隊列的函數(shù),包括:

          我們看一個典型應(yīng)用:(這個是labview幫助里面的例子)



          前面產(chǎn)生一個隨機(jī)數(shù),壓進(jìn)隊列,后面的循環(huán)從隊列中讀出元素。這兩個循環(huán)可以設(shè)置不同的循環(huán)時間。
          當(dāng)入隊列的時間快于出隊列的時間,隊列很快就會滿掉,此時,隊列調(diào)節(jié)入隊列循環(huán)等待,當(dāng)有空間時,執(zhí)行如隊列循環(huán)。當(dāng)入隊列時間小于出隊列時間時,后一個循環(huán)等待隊列中存在元素時,才能夠讀取元素(元素出隊列)。
          t入
          反之:


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

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

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


          關(guān)鍵詞: labview隊

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();