[發明專利]實現構件對象托管的方法和數據處理設備有效
| 申請號: | 200910050885.5 | 申請日: | 2009-05-08 |
| 公開(公告)號: | CN101882068A | 公開(公告)日: | 2010-11-10 |
| 發明(設計)人: | 宋世軍;陳榕 | 申請(專利權)人: | 上海科泰世紀科技有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 201203 上海市張江高*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 構件 對象 托管 方法 數據處理 設備 | ||
技術領域
本發明涉及一種實現構件管控的方法和設備,特別是涉及一種實現構件對象托管的方法和數據處理設備。
背景技術
隨著計算機軟件技術的不斷發展,構件化軟件技術已經越來越普及,各種各樣的構件技術和支持這些構件技術的相應的嵌入式操作系統也應運而生。
目前,人們在利用構件化軟件系統平臺進行構件編程時,例如,在上海科泰世紀科技有限公司開發的Elastos平臺上進行構件編程時,通常引用計數管理構件對象的生命周期,當不再使用一個構件對象時,需通過調用Release方法釋放對該構件對象的引用。然而,有的時候所使用的構件對象的生命周期要比當前線程還要長,甚至可能在整個程序的運行過程中都需要訪問它。如果創建這個構件對象的線程是進程的主線程,那么可以利用“線程托管對象”的方式將構件對象托管到主線程上,因為主線程的生命周期與進程一樣,可以保證該構件對象一直有效。如果只是在一個普通線程上創建的構件對象,這時就比較麻煩,可以將這個構件對象的指針傳遞給主線程,由其代為管理。雖然有上述這些手段能實現構件對象的托管,但對用戶來說上述這些手段都比較繁瑣,如果要托管的構件對象很多,不同的構件對象又可能由不同線程或者代碼、甚至第三方的代碼來創建的等,這些情況導致上述這些手段操作起來更加復雜、更容易出錯。
發明內容
鑒于以上內容,有必要提供一種實現構件對象托管的方法,以提高構件對象托管效率和避免構件對象托管錯誤。
此外,還有必要提供一種實現構件對象托管的數據處理設備,以提高構件對象托管效率和避免構件對象托管錯誤。
一種實現構件對象托管的方法,適用于能運行構件化軟件系統的數據處理設備。該方法包括步驟:(a)定義構件對象的托管函數、自動釋放全局托管對象函數及析構函數;(b)執行定義的托管函數將需托管的構件對象托管給進程;(c)執行定義的自動釋放全局托管對象函數,將被托管的構件對象的指針插入全局托管對象的托管對象鏈表;(d)等待所托管的進程結束;(e)在所托管的進程結束時,定義的自動釋放全局托管對象函數自動釋放全局托管對象,進入定義的析構函數;(f)執行定義的析構函數遍歷全局托管對象的托管對象鏈表,并調用所有被托管的構件對象對應的釋放方法以釋放所有被托管的構件對象。
一種實現構件對象托管的數據處理設備,該數據處理設備包括存儲器及處理器。該存儲器用于存儲構件化軟件系統。該處理器用于運行存儲的構件化軟件系統中的構件對象托管模塊,以執行以下步驟:(i1)定義構件對象的托管函數、自動釋放全局托管對象函數及析構函數;(i2)執行定義的托管函數將需托管的構件對象托管給進程;(i3)執行定義的自動釋放全局托管對象函數,將被托管的構件對象的指針插入全局托管對象的托管對象鏈表;(i4)等待所托管的進程結束;(i5)在所托管的進程結束時,定義的自動釋放全局托管對象函數自動釋放全局托管對象,進入定義的析構函數;(i6)執行定義的析構函數遍歷全局托管對象的托管對象鏈表,并調用所有被托管的構件對象對應的釋放方法以釋放所有被托管的構件對象。
相較現有技術,本發明通過在構件化軟件系統中利用托管函數將構件對象托管給進程,在所托管的進程結束時利用析構函數將被托管的構件對象整體釋放,提高了構件對象的托管效率,避免了構件對象的托管錯誤。
附圖說明
圖1是本發明實現構件對象托管的數據處理設備較佳實施例的結構示意圖。
圖2是本發明實現構件對象托管的方法較佳實施例的具體實施流程圖。
具體實施方式
如圖1所示,是本發明實現構件對象托管的數據處理設備較佳實施例的結構示意圖。該數據處理設備1可以是計算機、手機、個人數字助理(Personal?Digital?Assistant,PDA)等。該數據處理設備1包括處理器11及存儲器(圖中未示出)。該存儲器用于存儲能實現構件對象托管的構件化軟件系統10。該構件化軟件系統10包括一個構件對象托管模塊100。該處理器11用于運行存儲的構件化軟件系統10中的構件對象托管模塊100以實現構件對象的托管。
如圖2所示,是本發明實現構件對象托管的方法較佳實施例的具體實施流程圖。該方法適用于圖1所示的數據處理設備1。
以下是結合本實施例逐步實現構件對象托管的內容,即:該處理器11運行存儲的構件化軟件系統10中的構件對象托管模塊100逐步實現構件對象托管的內容。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海科泰世紀科技有限公司,未經上海科泰世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910050885.5/2.html,轉載請聲明來源鉆瓜專利網。





