国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

這篇具有很好參考價值的文章主要介紹了LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ?LabVIEW在工業(yè)控制及儀器測量領(lǐng)域中用的會比較多,那么就經(jīng)常會涉及到數(shù)據(jù)采集、分析和處理的問題,為了提高效率,往往會在數(shù)據(jù)采集的同時就進行數(shù)據(jù)分析和處理,這時就需要用多線程來處理,多線程的概念如果有不了解的,可以參考這位博主的講解多線程(Thread、線程創(chuàng)建、線程池) - 作巴 - 博客園

? ? ? ?那么LabVIEW是支持多線程編程的,但是很多人在編程的時候喜歡使用局部變量和全局變量的方式來執(zhí)行程序,這樣的壞處就是可能會產(chǎn)生競爭冒險的問題,也就是說有可能出現(xiàn)在讀取某一個變量的數(shù)據(jù)的時候正好發(fā)生了對該變量寫入的操作,那讀出來的數(shù)據(jù)就不確定是不是自己想要的數(shù)據(jù)了,當(dāng)然在軟件編程中我們可能會使用Lock的機制來避免這一問題,這里可以參考這位博主講解C#中Lock的使用C#之lock_故里2130的博客-CSDN博客_c# lock,但是我想說的是,在LabVIEW中為了解決競爭冒險的問題以及能及時相應(yīng)前面板操作的問題,生產(chǎn)者消費者結(jié)構(gòu)不失為一種性價比很高的結(jié)構(gòu)。

? ? ? ? 生產(chǎn)者結(jié)構(gòu)負責(zé)記錄事件到隊列中,而消費者負責(zé)從隊列中將事件一個個取出并執(zhí)行該事件,隊列遵循先入先出的規(guī)則,整個過程可以有條不紊地進行。下面就以我自己編程做的這個Simon小游戲來做示例演示該結(jié)構(gòu)的用法。

? ? ? ?下面是這個小游戲的文件夾中的文件,Control包括自己做的大量的自定義控件,file中存放游戲中保存的數(shù)據(jù),Picture和music都是游戲中用到的素材,SubVI是游戲中調(diào)用的一些子VI,.lvpoj是工程文件,Main.vi是程序的入口。

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

? ? ? ?下面是游戲的主界面,游戲開始時界面動畫會播放,左右的四個圖標(biāo)分別是排行榜、名片、聯(lián)系我們和更多消息,點開分別有各種信息,界面中間填寫用戶名密碼并選擇游戲難度即可點擊開始游戲,開始游戲后進入游戲界面,點擊退出游戲退出主界面并關(guān)閉游戲。

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

? ? ? ?然后是游戲程序面板,上面一個while循環(huán)是生產(chǎn)者循環(huán),主要用于記錄操作者的操作事件,事件消息記錄在隊列中,下面這個循環(huán)是消費者循環(huán),主要用于消息事件的處理。

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

?處理過程如下圖所示

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

Simon游戲曾經(jīng)一度風(fēng)靡西方數(shù)十年,游戲規(guī)則如下圖所示

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

? ? ? ?這部分消息是游戲處理過程,第一部分是AI操作,在我設(shè)計這款游戲中四個小羊分別會按順序行走到自己的食物上并返回;第二部分是玩家操作,玩家需要按照AI執(zhí)行的順序點擊小羊,小羊走到自己的食物上并返回,每點對一次小羊加一分。

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)

? ? ? ?關(guān)于生產(chǎn)者消費者這個結(jié)構(gòu)在使用的過程中還是會出現(xiàn)很多bug的,程序我放在下邊供大家參考使用,使用過程中如果碰到什么問題,歡迎大家私信我一起交流學(xué)習(xí)!

鏈接:https://pan.baidu.com/s/1FD4JE42akpyF9G1pHGX79g?
提取碼:53n9? ? ?復(fù)制這段內(nèi)容打開「百度網(wǎng)盤APP 即可獲取」文章來源地址http://www.zghlxwxcb.cn/news/detail-490020.html

到了這里,關(guān)于LabVIEW編程基礎(chǔ)之生產(chǎn)者消費者結(jié)構(gòu) -- Simon小游戲(以羊了個羊為背景)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Rust 基礎(chǔ)篇】Rust 通道實現(xiàn)單個消費者多個生產(chǎn)者模式

    在 Rust 中,我們可以使用通道(Channel)來實現(xiàn)單個消費者多個生產(chǎn)者模式,簡稱為 MPMC。MPMC 是一種常見的并發(fā)模式,適用于多個線程同時向一個通道發(fā)送數(shù)據(jù),而另一個線程從通道中消費數(shù)據(jù)的場景。本篇博客將詳細介紹 Rust 中單個消費者多個生產(chǎn)者模式的實現(xiàn)方法,包含

    2024年02月16日
    瀏覽(29)
  • Kafka 之生產(chǎn)者與消費者基礎(chǔ)知識:基本配置、攔截器、序列化、分區(qū)器

    Kafka 之生產(chǎn)者與消費者基礎(chǔ)知識:基本配置、攔截器、序列化、分區(qū)器

    kafaf集群地址列表:理論上寫一個節(jié)點地址,就相當(dāng)于綁定了整個kafka集群了,但是建議多寫幾個,如果只寫一個,萬一宕機就麻煩了 kafka消息的key和value要指定序列化方法 kafka對應(yīng)的生產(chǎn)者id 使用java代碼表示則為以下代碼: ?可使用?retries 參數(shù) 進行設(shè)置,同時要注意記住兩

    2024年02月05日
    瀏覽(30)
  • 【ELK解決方案】ELK集群+RabbitMQ部署方案以及快速開發(fā)RabbitMQ生產(chǎn)者與消費者基礎(chǔ)服務(wù)...

    【ELK解決方案】ELK集群+RabbitMQ部署方案以及快速開發(fā)RabbitMQ生產(chǎn)者與消費者基礎(chǔ)服務(wù)...

    前言: 大概一年多前寫過一個部署ELK系列的博客文章,前不久剛好在部署一個ELK的解決方案,我順便就把一些基礎(chǔ)的部分拎出來,再整合成一期文章。大概內(nèi)容包括:搭建ELK集群,以及寫一個簡單的MQ服務(wù)。 如果需要看一年多之前寫的文章,可以詳見下列文章鏈接(例如部署

    2023年04月08日
    瀏覽(46)
  • 生產(chǎn)者-消費者模型

    生產(chǎn)者-消費者模型

    目錄 1、生產(chǎn)者-消費者模型是什么 2、Java中的實現(xiàn) 3、應(yīng)用于消息隊列 3.1 引入依賴 3.2?rabbitmq網(wǎng)站新建隊列queue 3.3 模塊中配置application.yml 3.4 生產(chǎn)者實現(xiàn)類 3.5 單元測試,發(fā)送msg到rabbitmq的隊列(my_simple_queue) 3.6 消費者實現(xiàn)類 3.7?從rabbitmq隊列(my_simple_queue)消費數(shù)據(jù) 3.8 隊列的配

    2024年02月06日
    瀏覽(19)
  • Python多線程Thread——生產(chǎn)者消費者模型 python隊列與多線程——生產(chǎn)者消費者模型

    下面面向?qū)ο蟮慕嵌瓤淳€程 那么你可以試試看能不能用面向?qū)ο蟮姆椒▽崿F(xiàn)生產(chǎn)者消費者模型吧。

    2024年02月09日
    瀏覽(35)
  • 生產(chǎn)者與消費者問題

    生產(chǎn)者與消費者問題

    ????????本篇文章我們使用C++探討一下生產(chǎn)者與消費者問題.? ? ? ? ? 我們學(xué)習(xí)了操作系統(tǒng), 知道了進程和線程的概念, 但是如果不進行代碼實戰(zhàn)的話, 會很難理解它們. 特別是編程的初學(xué)者(比如我), 在了解了進程和線程后通常會感到疑惑: 多線程怎么用? 為啥我平時寫代碼

    2024年02月12日
    瀏覽(24)
  • 多線程之生產(chǎn)者消費者

    目的是回顧多線程的幾個api 多生產(chǎn)者+多消費者+共享池

    2024年02月07日
    瀏覽(27)
  • Linux——生產(chǎn)者消費者模型

    Linux——生產(chǎn)者消費者模型

    目錄 一.為何要使用生產(chǎn)者消費者模型 ?二.生產(chǎn)者消費者模型優(yōu)點 ?三.基于BlockingQueue的生產(chǎn)者消費者模型 1.BlockingQueue——阻塞隊列 2.實現(xiàn)代碼 ?四.POSIX信號量 五.基于環(huán)形隊列的生產(chǎn)消費模型 生產(chǎn)者消費者模式就是通過一個容器來解決生產(chǎn)者和消費者的強耦合問題。生產(chǎn)者

    2024年02月08日
    瀏覽(22)
  • kafka生產(chǎn)者消費者練習(xí)

    需求:寫一個生產(chǎn)者,不斷的去生產(chǎn)用戶行為數(shù)據(jù),寫入到kafka的一個topic中 生產(chǎn)的數(shù)據(jù)格式: 造數(shù)據(jù) {“guid”:1,“eventId”:“pageview”,“timestamp”:1637868346789} isNew = 1 {“guid”:1,“eventId”:“addcard”,“timestamp”:1637868347625} isNew = 0 {“guid”:2,“eventId”:“collect”,“timestamp”

    2024年02月08日
    瀏覽(28)
  • linux:生產(chǎn)者消費者模型

    linux:生產(chǎn)者消費者模型

    個人主頁 : 個人主頁 個人專欄 : 《數(shù)據(jù)結(jié)構(gòu)》 《C語言》《C++》《Linux》 本文是對于生產(chǎn)者消費者模型的知識總結(jié) 生產(chǎn)者消費者模型就是通過一個容器來解決生產(chǎn)者消費者的強耦合問題。生產(chǎn)者和消費者彼此之間不直接通訊,而是通過之間的容器來進行通訊,所以生產(chǎn)者

    2024年04月15日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包