[發(fā)明專利]一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 202011427093.8 | 申請(qǐng)日: | 2020-12-09 |
| 公開(公告)號(hào): | CN112379952B | 公開(公告)日: | 2023-04-07 |
| 發(fā)明(設(shè)計(jì))人: | 先澤強(qiáng) | 申請(qǐng)(專利權(quán))人: | 成都傲梅科技有限公司 |
| 主分類號(hào): | G06F9/448 | 分類號(hào): | G06F9/448;G06F9/445 |
| 代理公司: | 成都嘉企源知識(shí)產(chǎn)權(quán)代理有限公司 51246 | 代理人: | 胡建超 |
| 地址: | 610000 四川省成都市錦江區(qū)*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 跨進(jìn) 程回調(diào) 實(shí)現(xiàn) 方法 | ||
本發(fā)明提供一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法,包括如下步驟:S1.創(chuàng)建進(jìn)程A,創(chuàng)建進(jìn)程B;S2.進(jìn)程A創(chuàng)建并初始化共享內(nèi)存;S3.收到跨進(jìn)程回調(diào),回調(diào)參數(shù)寫入到共享內(nèi)存,將事件類型寫入到共享內(nèi)存;S4.進(jìn)程A給進(jìn)程B發(fā)送通知;S5.進(jìn)程B啟動(dòng),判斷是否為退出事件;S6.若為退出事件,則退出;若不是退出事件,則判斷共享內(nèi)存中是否有未處理的事件操作;S7.若有未處理的事件操作,則從共享內(nèi)存中獲取事件類型;S8.從共享內(nèi)存中獲取此事件對(duì)應(yīng)的數(shù)據(jù),處理并將返回值寫入到共享內(nèi)存,設(shè)置事件狀態(tài)為完成,返回繼續(xù)等待全局事件狀態(tài);S9.進(jìn)程A從共享內(nèi)存中獲取返回值,進(jìn)程A結(jié)束。本發(fā)明解決了目前使用傳統(tǒng)回調(diào)技術(shù)進(jìn)行跨進(jìn)程通信和異步,會(huì)比較困難的問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)進(jìn)程回調(diào)技術(shù)領(lǐng)域,更具體地涉及一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,軟件的復(fù)雜度也越來(lái)越高,為了提高軟件運(yùn)行的穩(wěn)定性,通常會(huì)把多個(gè)功能獨(dú)立成單獨(dú)的EXE應(yīng)用程序,以提高程序運(yùn)行時(shí)的穩(wěn)定性,但同時(shí)又因?yàn)樯婕暗浇换r(shí)用戶交互的多樣性,有些數(shù)據(jù)需要通過(guò)服務(wù)向界面層發(fā)送回調(diào),且界面層需要根據(jù)用戶的選擇返回給具體的服務(wù)程序,但使用傳統(tǒng)回調(diào)技術(shù)進(jìn)行跨進(jìn)程通信和異步,會(huì)比較困難,因此,有必要提供一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法,以克服上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提供了一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法,以解決目前使用傳統(tǒng)回調(diào)技術(shù)進(jìn)行跨進(jìn)程通信和異步,會(huì)比較困難的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是:一種跨進(jìn)程回調(diào)的實(shí)現(xiàn)方法,包括如下步驟:
步驟S1.創(chuàng)建進(jìn)程A,進(jìn)程A為主進(jìn)程;創(chuàng)建進(jìn)程B,進(jìn)程B為副進(jìn)程;
步驟S2.進(jìn)程A啟動(dòng),進(jìn)程A創(chuàng)建并初始化共享內(nèi)存,創(chuàng)建全局事件對(duì)象;
步驟S3.當(dāng)收到來(lái)自進(jìn)程A的跨進(jìn)程回調(diào),回調(diào)參數(shù)寫入到共享內(nèi)存,將事件類型寫入到共享內(nèi)存;
步驟S4.進(jìn)程A給進(jìn)程B發(fā)送通知,等待進(jìn)程B全局事件對(duì)象返回;
步驟S5.進(jìn)程B啟動(dòng),進(jìn)入等待全局事件狀態(tài),當(dāng)收到A發(fā)送的通知,判斷是否為退出事件;
步驟S6.若為退出事件,則退出,進(jìn)程B結(jié)束;若不是退出事件,則判斷首次啟動(dòng)進(jìn)程B時(shí),共享內(nèi)存中是否有未處理的事件操作;
步驟S7.若沒(méi)有未處理的事件操作,則進(jìn)程B進(jìn)入等待通知狀態(tài),當(dāng)進(jìn)程B收到通知,從共享內(nèi)存中獲取事件類型;若有未處理的事件操作,則從共享內(nèi)存中獲取事件類型;
步驟S8.根據(jù)事件類型進(jìn)入不同的事件流程,根據(jù)事件類型從共享內(nèi)存中獲取此事件對(duì)應(yīng)的數(shù)據(jù),處理并將返回值寫入到共享內(nèi)存,設(shè)置事件狀態(tài)為完成,返回繼續(xù)等待全局事件狀態(tài);
步驟S9.進(jìn)程A判斷是否返回超時(shí),若超時(shí),則設(shè)置錯(cuò)誤碼并返回,進(jìn)程A結(jié)束;若不超時(shí),則從共享內(nèi)存中獲取返回值,進(jìn)程A結(jié)束。
進(jìn)一步地,進(jìn)程A為工作線程。
進(jìn)一步地,進(jìn)程B為界面進(jìn)程或輔助進(jìn)程。
進(jìn)一步地,步驟S2中,進(jìn)程A創(chuàng)建全局共享內(nèi)存,并按固定的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化。
進(jìn)一步地,步驟S2中,初始化過(guò)程中,進(jìn)行數(shù)據(jù)塊的區(qū)分。
進(jìn)一步地,步驟S2中,根據(jù)數(shù)據(jù)塊的類型、邏輯偏移和大小,來(lái)進(jìn)行數(shù)據(jù)塊的區(qū)分。
進(jìn)一步地,步驟S4中,進(jìn)程A有兩種方式給進(jìn)程B發(fā)送通知,一是能夠即時(shí)響應(yīng)的Socket套接字方式的跨進(jìn)程通知方式;二是能夠異步處理事件的全局事件通知方式。
進(jìn)一步地,全局事件通知方式的步驟包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都傲梅科技有限公司,未經(jīng)成都傲梅科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011427093.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 跨進(jìn)程通信的方法和裝置
- 在鎖屏界面上展示信息的方法及裝置
- 金融網(wǎng)絡(luò)接入系統(tǒng)
- 基于安卓平臺(tái)的跨進(jìn)程通信方法和裝置
- 一種跨進(jìn)程數(shù)據(jù)的同步存取方法及系統(tǒng)
- 跨進(jìn)程發(fā)送打點(diǎn)日志的方法及裝置
- 基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì)
- 一種全鏈路追蹤方法、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 跨進(jìn)程通信方法、終端以及計(jì)算機(jī)可讀介質(zhì)
- 一種基于AOP的跨進(jìn)程通信的方法及裝置
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





