99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

程序小白
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
【第二篇】大話單片機(jī)軟件構(gòu)架
【第三篇】嵌入式系統(tǒng)的事件驅(qū)動型編程技術(shù)第二版(書籍分享)
【第四篇】QP量子編程之入門體驗(yàn)
【第五篇】從(狀態(tài)圖)到(代碼)生成,一切交給軟件QM
【第六篇】基于QP開發(fā)應(yīng)用程序的套路分享
【第七篇】哲學(xué)家就餐問題的對象分解
作者動態(tài) 更多
基于stm32采用PWM驅(qū)動伺服控制器學(xué)習(xí)筆記
3星期前
基于STM32驅(qū)動TM1638學(xué)習(xí)筆記——軟件篇
04-19 12:42
基于TM1638驅(qū)動8位數(shù)碼管設(shè)計(jì)分享
02-24 11:26
RT-Thread驅(qū)動之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅(qū)動之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

【第六篇】基于QP開發(fā)應(yīng)用程序的套路分享

      這一篇來聊一聊如何開發(fā)基于QP的應(yīng)用程序,他可能和我們平時開發(fā)的應(yīng)用程序所遵循的規(guī)則不太一樣,其實(shí)規(guī)則一詞有點(diǎn)別扭,不如說是套路,每個人開發(fā)軟件都有自己的套路,每個套路都是你站在問題需求的一個角度上理解以后,產(chǎn)生的策略,問題需求的角度不同,你能產(chǎn)生的策略就不一樣,不要站在一個套路的高度,嘗試著把軟件融入到另一種套路中,一切重新從需求出發(fā),問題會變得更簡單。

      QP這本書提了兩點(diǎn)要求我們必須遵守的準(zhǔn)則,并且用了很大的篇幅去說服你一定要遵守這兩條準(zhǔn)則:

      準(zhǔn)則一、活動對象之間僅應(yīng)該通過異步事件交換來相互作用,不應(yīng)該共享內(nèi)存或者其它資源。(通俗舉例:取消全局變量)

      準(zhǔn)則二、活動對象不應(yīng)該被阻塞或者在RTC處理中間忙等待事件。(通俗來講:不太好講,大概是活動對象內(nèi)部處理代碼不要有死等或者被掛起的操作)

      知道這兩條規(guī)則,你依舊是寫不好QP的應(yīng)用,就像是懂得了很多大道理卻依舊過不好這一生(扯遠(yuǎn)了),規(guī)則的目的,不是讓你僅僅停留在理解的階段,而是要在今后的實(shí)戰(zhàn)應(yīng)用中,不斷地實(shí)踐,不斷的進(jìn)階,才會獲得更好的理解(莫要怕犯錯,不犯錯你就永遠(yuǎn)無法掌握它)。

      這兩條規(guī)則都在圍繞著一個核心的主題來,也就是【活動對象】,他爹就是【狀態(tài)機(jī)】,時代變了,很難靠狀態(tài)機(jī)來打天下了,必須要披上一層QF的糖衣,這樣生意就好做多了,QF提供了事件隊(duì)列,內(nèi)存池等等一系列的基礎(chǔ)設(shè)施給狀態(tài)機(jī)使用,同樣,用上了這些高端貨的狀態(tài)機(jī),已經(jīng)不能叫做狀態(tài)機(jī)了,于是,他有了另一個喜人的名字【活動對象】。

      一個基于QP的應(yīng)用程序,實(shí)際上是被分割成了多個【活動對象】,每個活動對象都為系統(tǒng)管理一部分【資源】,資源這個詞很有意思,看到管理資源,第一時間可能想到的是管理內(nèi)存,其實(shí)在活動對象看來,不光是一片內(nèi)存叫資源,兩個IO引腳,一個LED燈都可以叫做是資源,如何實(shí)現(xiàn)應(yīng)用,其實(shí)就是靠管理這些資源協(xié)調(diào)運(yùn)作,從而實(shí)現(xiàn)應(yīng)用的功能。

      又扯遠(yuǎn)了,【活動對象】的本職就是管理資源,他們高度的自治,就是我管的事情別人不可以插手,那么如何協(xié)調(diào)工作呢,那就需要一個叫做【事件】的郵件,你想改變某個資源,對不起,發(fā)郵件告訴我。什么?你很急?哦,那你趕緊寫郵件啊(大家必須遵守規(guī)則,不然又回到了全局變量滿地找的解放前)~!

      整個應(yīng)用程序功能可以很復(fù)雜,有可能很多活最終都分配給某個【活動對象】,其它的【活動對象】就很閑,是不是會讓你想起ARM打天下的場景,嘿嘿~!這就要看作者的創(chuàng)作水平了,這個叫【某個】的【活動對象】變得很忙,其他人都在聊天打屁,還時不時給他發(fā)郵件,讓他干這干那,他倒是任勞任怨,但是好多郵件到家門口的時候,他可能在忙,于是郵遞員【QF】把郵件放到他家門口,敲門就走了,這貨現(xiàn)在忙得跟孫子似的,根本沒時間開門接郵件,結(jié)果一陣大風(fēng)刮過,他開門的時候啥也沒了。整個應(yīng)用到這里就凌亂了。

      為了解決這個問題,于是乎,QF就給每個【活動對象】在他們家門口都按了一個箱子,叫郵箱(這個郵箱是真實(shí)生活中的郵箱,可不是操作系統(tǒng)概念中的郵箱)【事件隊(duì)列】,于是乎,這個問題仿佛得到了一部分解決,快遞員每次來的時候,就把郵件放到你的郵箱里,然后敲門離開,當(dāng)然也會遇到一種特殊情況,郵件太多,實(shí)在放不下了(一個合適大小的事件隊(duì)列有多重要,只能等你實(shí)戰(zhàn)的時候體會了),這時候,快遞小哥只能把郵件放在門口,敲門離開,繼續(xù)送信,小心大風(fēng)~!

      針對這個寫的郵件【事件】,還有一個重要的方面沒講,也就是【活動對象】能處理的郵件的要求是受限,你不能寫個郵件【事件】,內(nèi)容是幫我造一顆原子彈,這時候【活動對象】可能懶得理你,也可能和警察【QF】報(bào)告抓你,為了防止惡作劇的存在,于是大家規(guī)定了一整套的【事件】類型的定義,叫做【信號】,通過枚舉來完成,確保大家都不同。

      到這里已經(jīng)引出了本篇的所有主題,你要開發(fā)QP應(yīng)用程序,就必須將他分解成多個【活動對象】,并用【事件】機(jī)制將他們串起來,這個復(fù)雜的機(jī)制又引入了【信號】、【事件隊(duì)列】等等內(nèi)容。

      于是總結(jié)一下:

      QP應(yīng)用程序 = 多個【活動對象】+【信號】+【事件】+【事件隊(duì)列】;

     【活動對象】是可以展開的,展開就是狀態(tài)機(jī),如何基于狀態(tài)機(jī)開發(fā)應(yīng)用程序的專題我寫了,所以這里就不展開了。

      下一篇,教你如何分解成活動對象,基于一個官方的實(shí)例,從問題需求,到順序圖,到活動對象一條龍。再見~!

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 6
收藏 5
關(guān)注 149
成為作者 賺取收益
全部留言
0/200
  • 星球居民-G9sQj7p6 2020-12-31 10:37
    全部收藏,感謝分享
    回復(fù)
主站蜘蛛池模板: 91视频免费在观看 | 在线观看免费网页欧美成 | 欧美一区二区在线刺激视频 | 中品极品少妇xxx | 久久无码精品一区二区三区 | 中日字幕大片在线播放 | 亚洲综合热 | 国产成人午夜片在线观看高清观看 | 国产女合集小岁9三部 | 内射吃奶嗯嗯视频 | 免费性色 | eeuss影院www免费播放 | 国产亚洲欧美日韩在线一区 | 一级做a爰片性色毛片是免费 | 91在线网站 | 久久艹逼 | 99手机国产精品 | av片在线免费看 | 九九九九精品九九九九 | 被夫の上司に犯中文字幕 | 日韩一级淫片 | 伊人综合久久 | 蜜臀久久99精品久久久久久网站 | 国产伦一区二区三区视频 | 91丨porny在线牛牛影视 | 无码专区AAAAAA免费视频 | 久久久久久久波多野结衣高潮 | 亚洲激情校园 | 欧美日韩中文字幕一区二区高清 | 91亚洲影院| 欧美精产国品一二三产品区别在哪 | 人妻系列无码专区久久五月天 | 无码成人精品区在线观看 | 亚洲区精品3d国漫同人 | 91porny九色在线 | 91看片 | 久久精品色播 | 91精品国产色综合久久不卡98最新章节 | 伊人久久在线观看 | 国产毛片毛片毛片毛片毛片 | 伊人久久在线观看 |