[發明專利]一種基于中斷重入機制的協程處理及管理方法在審
| 申請號: | 202011047310.0 | 申請日: | 2020-09-29 |
| 公開(公告)號: | CN112162840A | 公開(公告)日: | 2021-01-01 |
| 發明(設計)人: | 曹蕤 | 申請(專利權)人: | 曹蕤 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/46;G06F9/50;G06F9/52 |
| 代理公司: | 蘇州中合知識產權代理事務所(普通合伙) 32266 | 代理人: | 劉奇 |
| 地址: | 100020 北京市朝*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 中斷 機制 處理 管理 方法 | ||
1.一種基于中斷重入機制的協程處理方法,其特征在于,所述協程包括主協程和子協程,中斷重入步驟包括:
S1:所述主協程拋出中斷請求,所述主協程的底層框架響應所述中斷請求并異步發送任務請求;
S2:切換至外部系統處理邏輯,所述主協程釋放線程資源;
S3:所述任務請求應答通過回調接口執行重入所述子協程,并恢復至中斷時上下文狀態;
S4:所述子協程繼續處理后續邏輯,直到執行結束,釋放線程資源;或者子協程作為新的主協程拋出中斷請求,重復上述步驟S1至S4。
2.根據權利要求1所述的一種基于中斷重入機制的協程處理方法,其特征在于,步驟S1還包括,所述主協程首次拋出中斷請求前,建立中斷記憶對象并登記到記憶存儲器中,所述記憶對象用于儲存不可重復動作的執行結果,所述記憶存儲器用于儲存中斷處上下文;
步驟S3還包括,重入所述子協程后,所述子協程執行到中斷處并將上下文恢復到中斷時的狀態,并將所述任務的應答結果登記到所述記憶對象。
3.根據權利要求2所述的一種基于中斷重入機制的協程處理方法,其特征在于,所述任務為批處理任務,所述主協程的底層框架通過調用CallBatch()接口執行批處理任務。
4.根據權利要求3所述的一種基于中斷重入機制的協程處理方法,其特征在于,所述CallBatch()接口首次執行時包括以下步驟:
創建BatchCall記憶對象,并登記到記憶存儲器中,此時所述BatchCall記憶對象的isInitial標識為true;
執行BatchCall記憶對象的Execute()接口拋出中斷類型異常;
調用方捕獲所述中斷類型異常,并執行BatchCall記憶對象的ExecuteAfterInterruption()接口;
所述ExecuteAfterInterruption()接口調起所述BatchCall記憶對象的OnExecuteAfterInterruption()接口,異步發送批處理任務的請求并在內存中注冊回調接口;
動作執行完后,所述BatchCall記憶對象的isInitial標識被置為false,程序執行結束,釋放出線程資源。
5.根據權利要求4所述的一種基于中斷重入機制的協程處理方法,其特征在于,任務應答通過回調接口切換至所述主協程包括以下步驟:
底層框架使用新線程調起回調接口HandleResponse(),并將任務應答傳給所述回調接口HandleResponse();
所述回調接口HandleResponse()調起Resume()接口,所述Resume()接口則調起OnProcess()接口重新開始執行所述主協程處理邏輯;
所述主協程再次執行到CallBatch()接口時,查驗所述記憶存儲器中登記的所述BatchCall記憶對象,此時所述BatchCall記憶對象的isInitial標識為false,不再執行Execute()接口,將任務應答登記到所述BatchCall記憶對象中,使得后續可以從所述BatchCall記憶對象中獲取任務應答繼續后續處理。
6.根據權利要求5所述的一種基于中斷重入機制的協程處理方法,其特征在于,任務應答內容存儲于所述BatchCall記憶對象中。
7.一種基于中斷重入機制的協程管理方法,其特征在于,利用權利要求3-6任意一項所述的一種基于中斷重入機制的協程處理方法,所述協程組合為應用,所述協程包括協程標識、中斷標識isInterrupted和記憶存儲器,所述應用運行包括一次開始處理接口Process()和多次重入處理接口Resume()的調用,還包括應用程序入口OnProcess(),所述開始處理接口Process()和重入處理接口Resume()均通過調用所述應用程序入口OnProcess()執行處理邏輯,所述應用程序入口OnProcess()內包括所述CallBatch()接口;在調用所述應用程序入口OnProcess()前通過循環遍歷應用的協程集合調起應用程序入口OnProcess()。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曹蕤,未經曹蕤許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011047310.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種比色杯組清洗裝置
- 下一篇:一種食用油壓榨方法





