新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 同步控制技術----棧與隊列

        同步控制技術----棧與隊列

        作者: 時間:2017-01-09 來源:網絡 收藏

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

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

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

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

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

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

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

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

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

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

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

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

        我們來模擬一下WINDOWS消息,首先定義消息結構。





        然后定義AE,封裝隊列。















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




        隊列的應用范圍非常廣,經常和狀態機聯合使用,就是經常提到的隊列狀態機,有機會我會結合狀態機一起介紹。


        上一頁 1 2 下一頁

        關鍵詞: 同步控制棧隊

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 慈溪市| 英吉沙县| 县级市| 神农架林区| 韩城市| 东平县| 萨迦县| 金湖县| 白水县| 屯留县| 资中县| 防城港市| 紫阳县| 苍溪县| 凭祥市| 衡山县| 景德镇市| 汝州市| 东阿县| 泰来县| 辽宁省| 沙田区| 兴文县| 张家口市| 南岸区| 桦甸市| 仁寿县| 霸州市| 灵武市| 卢湾区| 商南县| 阿荣旗| 蓬莱市| 紫金县| 民丰县| 临洮县| 阿克| 唐山市| 黄山市| 淮滨县| 安乡县|