新四季網

一種通過線程管理提高多任務處理效率的方法

2023-10-11 01:27:19

專利名稱:一種通過線程管理提高多任務處理效率的方法
技術領域:
本發明涉及JAVA平臺的多任務事件處理領域。
背景技術:
線程(thread),有時被稱為輕量級進程(Lightweight Process, LffP),是程序執行流的最小單元。一個標準的線程由線程ID,當前指令指針(PC),寄存器集合和堆棧組成。 另外,線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個線程可以創建和撤消另一個線程,同一進程中的多個線程之間可以並發執行。由於線程之間的相互制約,致使線程在運行中呈現出間斷性。線程也有就緒、阻塞和運行三種基本狀態。線程是程序中一個單一的順序控制流程。在單個程序中同時運行多個線程完成不同的工作,稱為多線程。在軟體系統開發中,在系統開發過程中經常會用到多線程處理不同的任務事件,多個線程創建造成系統資源利用不高,線程管理混亂,線程處理耦合性高,造成開發效率低下,出現問題很難定位,經常會有莫名奇妙錯誤出現,並且對於線程開發代碼有一定重複性,減低工作效率。

發明內容
本發明所要解決的技術問題是提供一種通過線程管理提高多任務處理效率的方法,在一個單線程任務調度器中,任務調度器就根據任務對象優先級調用優先級高的任務對象異步事件處理防範,從而減少系統資源的開支,減少任務對象開發工作;可以將業務開發工作放在處理邏輯中,避免了重複進行線程處理的工作,提高了工作效率。為解決上述技術問題,本發明的技術方案是一種通過線程管理提高多任務處理效率的方法,在JAVA平臺的任務管理系統中,利用單線程中的任務對象來實現多線程操作,具體方法如下S101)創建任務調度器;S102)創建任務對象,並將其添加到任務調度器中註冊;S103)啟動任務調度器;S104)任務調度器通過異步函數處理不同任務事件;S105)異步處理完任務事件,通知任務對象處理結果;S106)任務對象向任務調度器發起註銷請求,從任務調度器中去掉任務對象。本發明的通過在多任務多線程開發過程中預先定義好單線程多任務處理方式,在一個單線程任務調度器中,只需集成任務對象基類,並重寫事件處理方法,並將任務對象添加到任務調度器中,任務調度器就可以根據任務對象優先級調用優先級高的任務對象異步事件處理防範,從而減少系統資源的開支,減少任務對象開發工作;可以將業務開發工作放在處理邏輯中,提高了工作效率。
作為改進,所述步驟S101)中,任務調度器提供標準任務對象註冊接口和處理任務對象接口。作為改進,所述步驟中,任務調度器接收服務提供者發送的異步事件並將其分發到任務對象。作為改進,所述步驟中,任務調度器調用AddO靜態函數將任務對象添加到調度隊列中。作為改進,所述步驟S102)中,任務對象繼承與任務對象一個抽象類,其派生任務對象類必須實現DoCancelO函數和RimLO函數,DoCancel 函數用於取消異步請求, RunLO函數就是任務對象的事件處理函數。作為改進,所述步驟S102)中,將任務對象設定優先級,任務對象的運行是非搶佔式的,當一個任務對象的RunLO執行時,任務調度器就無法分發其他異步事件,兩個任務對象不會同時運行。作為改進,所述步驟Sl(XB)中,向任務調度器發送異步請求,啟動任務調度器,並由任務調度器分發的任務對象異步事件進行處理,同時將任務對象設置為激活狀態。作為改進,所述步驟S104)中,任務調度器最先接收到該異步請求,隨後從任務隊列中選出處於激活狀態而且優先級最高的任務對象,將其狀態設置為非激活的,然後將事件分發給他處理。作為改進,所述步驟S105)中,任務調度器根據RimLO執行的結果,向任務對象發起通知事件,通知處理事件的結果狀態,任務調度器還會捕獲RunL 函數拋出的異常,並調用任務對象的RimError 函數處理該異常。作為改進,所述步驟S106)中,任務對象提供DequeO函數將任務對象從任務調度器中的隊列上移除,在移除之前,DequeO函數會調用CancelO函數取消異步請求。本發明與現有技術相比所帶來的有益效果是本發明的通過在多任務多線程開發過程中預先定義好單線程多任務處理方式,在一個單線程任務調度器中,只需集成任務對象基類,並重寫事件處理方法,並將任務對象添加到任務調度器中,任務調度器就可以根據任務對象優先級調用優先級高的任務對象異步事件處理防範,從而減少系統資源的開支,減少任務對象開發工作;可以將業務開發工作放在處理邏輯中,提高了工作效率。


圖1為本發明單線程處理多個任務的流程圖。
具體實施例方式下面結合說明書附圖對本發明作進一步說明。一種通過線程管理提高多任務處理效率的方法,在JAVA平臺的任務管理系統中, 利用單線程中的任務對象來實現多線程操作,具體方法如下S101)創建任務調度器;任務調度器提供標準任務對象註冊接口和處理任務對象接口 ;S102)創建任務對象;任務對象繼承與任務對象一個抽象類,其派生任務對象類必須實現DoCancelO函數和RunLO函數,DoCancel 函數用於取消異步請求,RunLO 函數就是任務對象的事件處理函數;首先將任務對象設定優先級,方便任務調度器處理順序;任務調度器接收服務提供者發送的異步事件,任務對象的運行是非搶佔式的,當一個任務對象的RunLO執行時,任務調度器就無法分發其他異步事件,兩個任務對象不會同時運行;然後任務調度器調用AddO靜態函數將任務對象添加到調度隊列中;S103)啟動任務調度器;向任務調度器發送異步請求,啟動任務調度器,並由任務調度器分發的任務對象異步事件進行處理,同時將任務對象設置為激活狀態;S104)任務調度器通過異步函數處理不同任務事件;任務調度器最先接收到該異步請求,隨後從任務隊列中選出處於激活狀態而且優先級最高的任務對象,將其狀態設置為非激活的,然後將事件分發給他處理即調用任務對象的事件處理函數RunL ;S105)異步處理完任務事件;通知任務對象處理結果,任務調度器根據RimLO 執行的結果,向任務對象發起通知事件,通知處理事件的結果狀態,任務調度器還會捕獲 RunLO函數拋出的異常,並調用任務對象的RimError 函數處理該異常;S106)任務對象向任務調度器發起註銷請求,從任務調度器中去掉任務對象;任務對象提供DequeO函數將任務對象從任務調度器中的隊列上移除,在移除之前,DequeO 函數會調用CancelO函數取消異步請求。本發明的通過在多任務多線程開發過程中預先定義好單線程多任務處理方式,在一個單線程任務調度器中,只需集成任務對象基類,並重寫事件處理方法,並將任務對象添加到任務調度器中,任務調度器就可以根據任務對象優先級調用優先級高的任務對象異步事件處理防範,從而減少系統資源的開支,減少任務對象開發工作;可以將業務開發工作放在處理邏輯中,提高了工作效率。以上內容是結合具體的優選技術方案對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限於這些說明,對於本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的保護範圍。
權利要求
1.一種通過線程管理提高多任務處理效率的方法,其特徵在於在JAVA平臺的任務管理系統中,利用單線程中的任務對象來實現多線程操作,具體方法如下5101)創建任務調度器;5102)創建任務對象,並將其添加到任務調度器中註冊;5103)啟動任務調度器;5104)任務調度器通過異步函數處理不同任務事件;5105)異步處理完任務事件,通知任務對象處理結果;5106)任務對象向任務調度器發起註銷請求,從任務調度器中去掉任務對象。
2.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S101)中,任務調度器提供標準任務對象註冊接口和處理任務對象接口。
3.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S102)中,任務調度器接收服務提供者發送的異步事件並將其分發到任務對象。
4.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟中,任務調度器調用AddO靜態函數將任務對象添加到調度隊列中。
5.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S102)中,任務對象繼承與任務對象一個抽象類,其派生任務對象類必須實現 DoCancel 函數和RimLO函數,DoCancel 函數用於取消異步請求,RunLO函數就是任務對象的事件處理函數。
6.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S102)中,將任務對象設定優先級,任務對象的運行是非搶佔式的,當一個任務對象的RunLO執行時,任務調度器就無法分發其他異步事件,兩個任務對象不會同時運行。
7.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟Sl(XB)中,向任務調度器發送異步請求,啟動任務調度器,並由任務調度器分發的任務對象異步事件進行處理,同時將任務對象設置為激活狀態。
8.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S104)中,任務調度器最先接收到該異步請求,隨後從任務隊列中選出處於激活狀態而且優先級最高的任務對象,將其狀態設置為非激活的,然後將事件分發給他處理。
9.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S105)中,任務調度器根據RimLO執行的結果,向任務對象發起通知事件,通知處理事件的結果狀態,任務調度器還會捕獲RunLO函數拋出的異常,並調用任務對象的 RunError函數處理該異常。
10.根據權利要求1所述的一種通過線程管理提高多任務處理效率的方法,其特徵在於所述步驟S106)中,任務對象提供DequeO函數將任務對象從任務調度器中的隊列上移除,在移除之前,DequeO函數會調用CancelO函數取消異步請求。
全文摘要
本發明適用於JAVA平臺的多任務管理領域,利用單線程中的任務對象來實現多線程操作,通過繼承任務對象基類,並對每個任務對象進行不同的優先級和回調接口配置,然後在任務調度器線程中進行註冊,通過任務對象配置提高了任務處理速度。多任務管理方式包括S101創建任務調度器;S102創建任務對象,並添加到任務調度器中註冊;S103啟動任務調度器;S104任務調度器通過異步函數處理不同任務事件;S105異步處理完任務事件,通知任務對象處理結果;S106任務對象向任務調度器發起註銷請求,從任務調度器中去掉任務對象。
文檔編號G06F9/46GK102455933SQ201010517150
公開日2012年5月16日 申請日期2010年10月22日 優先權日2010年10月22日
發明者張利 申請人:深圳市科陸電子科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀