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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 同步控制技術(shù)----棧與隊列

          同步控制技術(shù)----棧與隊列

          作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏

          如果已經(jīng)有同名隊列存在,該設(shè)置是不起作用的,用的還是第一次運行這個函數(shù)時的設(shè)置。
          element data type:隊列中的數(shù)據(jù)類型,允許任意數(shù)據(jù)類型。
          其它兩個非常簡單,不介紹了。

          2:元素加入隊列(Enqueue Element)

          3:預(yù)覽要出隊的元素(讀,并不取出)

          4:取得隊列當前狀態(tài)( Get Queue Status)

          這個函數(shù)比較重要,它可以獲得當前隊列的狀態(tài)信息,包括隊列最大長度(設(shè)定的),隊列名稱,當前正在運行的等待取出數(shù)據(jù)的(運行DEQUEUE)的數(shù)量,當前正在運行的加入隊列的數(shù)量(ENQUEUE),以及當前隊列中的所有數(shù)據(jù)。

          5:釋放隊列(當程序結(jié)束時,進行清理工作,防止內(nèi)存泄露)

          6:在相反方向插入隊列(棧的功能),如果按這種方式插入一定數(shù)量,再依次取出,就是上面說的棧的功能。

          對于隊列,這個函數(shù)可以人工實現(xiàn)隊列優(yōu)先級,最重要的信息可以放在其他不重要的信息前面,比如嚴重錯誤,緊急停止等。

          7:取出元素。如果當前隊列中無元素可以提取,該函數(shù)會一直等待到TIMEOUT或者有數(shù)據(jù)為止。

          8。清除隊列(FLUSH),清除隊列中的所有元素。

          可見,隊列的基本操作是很簡單的,關(guān)鍵是如何在實際工作中正確運用。

          我們首先用AE封裝一個隊列:

          我們來模擬一下WINDOWS消息,首先定義消息結(jié)構(gòu)。





          然后定義AE,封裝隊列。















          下面我們來實驗一下這個AE,它可以運行在任何一個VI中,為了方便,我們在一個VI中做三個循環(huán),兩個寫入隊列(生產(chǎn)者),一個讀取隊列(消費者);




          隊列的應(yīng)用范圍非常廣,經(jīng)常和狀態(tài)機聯(lián)合使用,就是經(jīng)常提到的隊列狀態(tài)機,有機會我會結(jié)合狀態(tài)機一起介紹。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 同步控制棧隊

          評論


          技術(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); })();