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

程序小白
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專(zhuān)題目錄 查看專(zhuān)題
【第五篇】從(狀態(tài)圖)到(代碼)生成,一切交給軟件QM
【第六篇】基于QP開(kāi)發(fā)應(yīng)用程序的套路分享
【第七篇】哲學(xué)家就餐問(wèn)題的對(duì)象分解
【第八篇】QF框架之時(shí)間管理——定時(shí)事件
【第九篇】QF框架之對(duì)象計(jì)算模式——活動(dòng)對(duì)象
【第十篇】QF框架之事件管理——事件派發(fā)機(jī)制
作者動(dòng)態(tài) 更多
基于stm32采用PWM驅(qū)動(dòng)伺服控制器學(xué)習(xí)筆記
05-13 15:25
基于STM32驅(qū)動(dòng)TM1638學(xué)習(xí)筆記——軟件篇
04-19 12:42
基于TM1638驅(qū)動(dòng)8位數(shù)碼管設(shè)計(jì)分享
02-24 11:26
RT-Thread驅(qū)動(dòng)之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅(qū)動(dòng)之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

【第九篇】QF框架之對(duì)象計(jì)算模式——活動(dòng)對(duì)象

      基于狀態(tài)機(jī)進(jìn)行實(shí)際應(yīng)用的時(shí)候,會(huì)感覺(jué)有些力不從心,因?yàn)橐粋€(gè)應(yīng)用通常會(huì)被分解為多個(gè)狀態(tài)機(jī)。這些狀態(tài)機(jī)之間如何完成協(xié)作的,如何完成通信,優(yōu)先級(jí)排列,事件派發(fā),隊(duì)列存儲(chǔ)等等,這些需求在狀態(tài)機(jī)中并沒(méi)有做支持,QF的存在就對(duì)這一情況做了很好的補(bǔ)充。并引入了對(duì)象計(jì)算模式,抽象出了活動(dòng)對(duì)象:一個(gè)對(duì)象擁有自己的控制線(xiàn)程,稱(chēng)為活動(dòng)對(duì)象。

      在多任務(wù)操作系統(tǒng)當(dāng)中,每個(gè)活動(dòng)對(duì)象都是保持自治的,擁有自己的控制線(xiàn)程(事件循環(huán)) 、事件隊(duì)列 、狀態(tài)機(jī)。也可以這樣理解,在多任務(wù)操作環(huán)境里,使用多個(gè)事件驅(qū)動(dòng)型操作系統(tǒng)(簡(jiǎn)單理解:一個(gè)活動(dòng)對(duì)象可以當(dāng)做一個(gè)單獨(dú)的事件驅(qū)動(dòng)型系統(tǒng))。

      活動(dòng)對(duì)象在源碼中的定義,如下:

       針對(duì)控制線(xiàn)程還想再多說(shuō)一些,并不是所有的活動(dòng)對(duì)象都需要自帶控制線(xiàn)程,當(dāng)僅適用qf框架服務(wù)時(shí),一個(gè)名為QV的合作式內(nèi)核來(lái)解決所有的活動(dòng)對(duì)象的控制線(xiàn)程的問(wèn)題,因?yàn)榇蠹业牟僮鞫际且粯拥模@取事件、分發(fā)事件、處理事件(所以它被從活動(dòng)對(duì)象中抽了出來(lái)了)下圖是簡(jiǎn)化版的活動(dòng)對(duì)象的系統(tǒng)及事件循環(huán):

      以活動(dòng)對(duì)象為核心的應(yīng)用程序開(kāi)發(fā),活動(dòng)對(duì)象其服務(wù)的提供,可能來(lái)源于兩部分,QF框架和RTOS系統(tǒng)。從另一個(gè)角度我們來(lái)看一下,應(yīng)用,QF框架,RTOS系統(tǒng)之間的關(guān)系,如圖:

      從圖中可以看到他們的關(guān)系,有一點(diǎn)還想要說(shuō)一下,QF框架的本質(zhì)是提供服務(wù)的,他的下面可以有RTOS也可以沒(méi)有,那么問(wèn)題就來(lái)了,如果底層是RTOS,那么QF可以借用他的一些服務(wù),例如消息隊(duì)列,例如內(nèi)存管理等。假如QF的下面就是裸機(jī)。那么關(guān)于他需要的資源就需要他自己實(shí)現(xiàn)了,例如一顆合作式的內(nèi)核QV就可能被集成到QF上,關(guān)于QV合作式內(nèi)核后面單獨(dú)聊吧。

      活動(dòng)對(duì)象在應(yīng)用過(guò)程中,你需要理解他最核心的三個(gè)設(shè)定:

      1. 異步通訊,活動(dòng)對(duì)象擁有自己的事件隊(duì)列,并且通過(guò)從事件隊(duì)列中獲取事件,所以事件都是被異步投遞的,站在事件生產(chǎn)者的角度,異步通訊就意味著,他只負(fù)責(zé)生產(chǎn)一個(gè)事件,并將其發(fā)送給相應(yīng)的活動(dòng)對(duì)象,并不原地等待事件的處理。

      2. RTC————運(yùn)行到完成,也就是運(yùn)行到完成的過(guò)程中不被打斷,這么說(shuō)還是比較模糊的,正確的理解應(yīng)該是,狀態(tài)機(jī)在處理一個(gè)事件的過(guò)程中,不會(huì)去接收和處理其它事件,只有等這個(gè)事件處理完了,才可以去處理其它事件。這個(gè)過(guò)程是不會(huì)被打斷的。

      3. 封裝,這個(gè)可能是活動(dòng)對(duì)象最重要的概念,其實(shí)應(yīng)該是面向?qū)ο蟮母拍睿庋b意味著不共享數(shù)據(jù)和其它任意資源。

      接下來(lái)進(jìn)入實(shí)戰(zhàn)部分,這一部分不要看源碼了,源碼太精彩了,后面單獨(dú)拉出來(lái)給大家分析分析,原來(lái)C語(yǔ)言可以這么玩,基于QP6.9.1開(kāi)發(fā)者文檔中中找到關(guān)于活動(dòng)對(duì)象相關(guān)的API函數(shù),并分析一下其函數(shù)功能、參數(shù)、及返回值:

      關(guān)于如何創(chuàng)建一個(gè)活動(dòng)對(duì)象并啟動(dòng)對(duì)應(yīng)的活動(dòng)對(duì)象步驟,如下:

      1. 定義具體的活動(dòng)對(duì)象類(lèi)型(類(lèi)比于定義結(jié)構(gòu)體類(lèi)型),如下:

      2.有了類(lèi)型以后,實(shí)例化活動(dòng)對(duì)象(類(lèi)似于創(chuàng)建變量),如下:

      3.構(gòu)造活動(dòng)對(duì)象(類(lèi)比于變量初始化),如下:

      4.啟動(dòng)活動(dòng)對(duì)象(類(lèi)比喻執(zhí)行Table_intial函數(shù)),如下:

    5.停止活動(dòng)對(duì)象相關(guān)操作并沒(méi)有顯示的調(diào)用,表明這個(gè)應(yīng)用不需要停止活動(dòng)對(duì)象。

      

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 6
收藏 6
關(guān)注 151
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧
主站蜘蛛池模板: 国产一区二区在线在线 | 免费高清特级毛片A片 | 亚洲欧美综合国产不卡 | 亚洲欧洲无码一区二区三区 | 激情综合色综合啪啪五月丁香搜索 | 一区二区三区视频免费视频观看网站 | 日本aa在线观看 | 欧美成人免费在线视频 | 一区二区三区在线免费 | 任你操精品视频 | 国产亚洲欧美日韩高清 | 免费AV一区二区三区3ATV | 99老色批| 沦为公交两奶头春药高潮迭起 | 精品一区毛片 | 国产AV国片精品有毛 | 麻豆国产人妻精品无码AV | 一及黄色片 | 亚洲乱码中文字幕小综合 | www日韩高清| 好吊操视频 | 国产精品国产三级国AV在线观看 | 97超碰97| 日本一本一道高清无 | 免费人成在线观看成人片 | 国产精品无码一区二区三级 | 亚洲成人av免费观看 | 99ri国产精品 | 黄色一级片免费 | 久久不见久久见www免费视频 | 欧美日韩视频在线播放 | 亚洲高清视频一区二区 | 亚洲爆乳少妇无码激情 | 久久久久久久久18久久久 | 日本一区二区三区免费软件 | 国产欧美日韩综合 | 国产精品VA在线观看老妇女 | 亚洲日韩av片在线观看 | 日韩精品99| 中国丰满大乳乳液 | 凹凸18禁在线视频 |