[發明專利]資源管理方法、裝置、介質和電子設備在審
| 申請號: | 202310165179.5 | 申請日: | 2023-02-21 |
| 公開(公告)號: | CN116244004A | 公開(公告)日: | 2023-06-09 |
| 發明(設計)人: | 龐翔宇 | 申請(專利權)人: | 北京火山引擎科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/46 |
| 代理公司: | 北京英創嘉友知識產權代理事務所(普通合伙) 11447 | 代理人: | 粟卉 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 資源管理 方法 裝置 介質 電子設備 | ||
本公開涉及一種資源管理方法、裝置、介質和電子設備,該方法包括:響應于獲得客戶端程序進程調用創建函數的事件,跳轉到第一代理函數,所述創建函數用于在線程本地變量數組中創建線程本地變量;通過所述第一代理函數,確定所述客戶端程序進程傳入的線程本地變量的變量地址信息是否存在于目標鏈表中,所述目標鏈表用于存儲歷史創建的線程本地變量的變量地址信息;如果所述變量地址信息存在于所述目標鏈表中,則不在線程本地變量數組中創建對應的線程本地變量。本公開通過設置代理函數,避免在線程本地變量數組中重復創建線程本地變量,改善可能出現的資源泄露問題。
技術領域
本公開涉及計算機技術領域,具體地,涉及一種資源管理方法、裝置、介質和電子設備。
背景技術
對于客戶端程序中使用的全局變量,普通全局變量在多線程中是共享的,一個線程對其進行了修改,其它所有線程都可以看到,而線程本地變量是采用線程本地存儲(ThreadLocalStorage,TLS)技術存儲的全局變量,可以理解為線程私有的全局變量,線程私有的全局變量與普通全局變量不同,線程私有的全局變量是線程的私有財產,每個線程都有自己的一個副本,某個線程對其做出的修改只會修改到自己的副本,并不會修改到其它線程的副本。從而能夠實現一個全局變量在每個線程中都能夠訪問并且其值在每個線程中互不影響、相互獨立。
在大型軟件工程中,眾多工程師會同時開發一個客戶端程序,編寫程序過程中會定義和使用大量線程本地變量,這可能導致線程本地變量資源泄露。
發明內容
提供該發明內容部分以便以簡要的形式介紹構思,這些構思將在后面的具體實施方式部分被詳細描述。該發明內容部分并不旨在標識要求保護的技術方案的關鍵特征或必要特征,也不旨在用于限制所要求的保護的技術方案的范圍。
第一方面,本公開提供一種資源管理方法,包括:
響應于獲得客戶端程序進程調用創建函數的事件,跳轉到第一代理函數,所述創建函數用于在線程本地變量數組中創建線程本地變量;
通過所述第一代理函數,確定所述客戶端程序進程傳入的線程本地變量的變量地址信息是否存在于目標鏈表中,所述目標鏈表用于存儲歷史創建的線程本地變量的變量地址信息;
如果所述變量地址信息存在于所述目標鏈表中,則不在線程本地變量數組中創建對應的線程本地變量。
第二方面,本公開提供一種資源管理裝置,包括:
第一響應模塊,用于響應于獲得客戶端程序進程調用創建函數的事件,跳轉到第一代理函數,所述創建函數用于在線程本地變量數組中創建線程本地變量;
判斷模塊,用于通過所述第一代理函數,確定所述客戶端程序進程傳入的線程本地變量的變量地址信息是否存在于目標鏈表中,所述目標鏈表用于存儲歷史創建的線程本地變量的變量地址信息;
第一處理模塊,用于在所述變量地址信息存在于所述目標鏈表中的情況下,不在線程本地變量數組中創建對應的線程本地變量。
第三方面,本公開提供一種計算機可讀介質,其上存儲有計算機程序,該程序被處理裝置執行時實現第一方面提供的資源管理方法的步驟。
第四方面,本公開提供一種電子設備,包括:
存儲裝置,其上存儲有計算機程序;
處理裝置,用于執行所述存儲裝置中的所述計算機程序,以實現第一方面提供的資源管理方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京火山引擎科技有限公司,未經北京火山引擎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310165179.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種復合型相變儲熱裝置
- 下一篇:一種異形三通管件注塑模具的側面脫模結構





