[發明專利]一種無鎖化內存申請釋放方法有效
| 申請號: | 201310336094.5 | 申請日: | 2013-08-05 |
| 公開(公告)號: | CN103399825A | 公開(公告)日: | 2013-11-20 |
| 發明(設計)人: | 趙暢 | 申請(專利權)人: | 武漢郵電科學研究院 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 武漢科皓知識產權代理事務所(特殊普通合伙) 42222 | 代理人: | 嚴彥 |
| 地址: | 430074 湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 無鎖化 內存 申請 釋放 方法 | ||
1.一種無鎖化內存申請釋放方法,其特征在于:每個線程單獨占有一塊內存池作為緩存,所有從該緩存中申請的內存塊,最終釋放回該緩存;
進行內存申請時,申請線程從緩存獲取一塊內存,并在分配好的內存塊上標記申請線程的線程號,申請完成;?
內存塊使用完畢時,釋放線程查看內存塊標記的申請線程的線程號,如果是自己申請的,歸還內存塊到緩存,釋放完成;否則通過比較并替換,掛載內存塊到申請線程的單向鏈表,釋放完成。
2.根據權利要求1所述一種無鎖化內存申請釋放方法,其特征在于:每當任務發送消息或者接收到消息時,申請線程進行周期性檢測,將單向鏈表上每一個內存塊歸還到緩存。
3.根據權利要求1或2所述一種無鎖化內存申請釋放方法,其特征在于:單向鏈表采用“后地址”記錄下一節點的地址,而尾節點的“后地址”置為空;所述通過比較并替換,掛載內存塊到申請線程的單向鏈表,實現方式包括如下步驟,
步驟3.1,將單向鏈表頭的“后地址”所存的地址拷貝到一個本地地址變量;
步驟3.2,將本地地址變量拷貝到要掛載的內存塊的“后地址”;
步驟3.3,讀取單向鏈表頭的“后地址”,當且僅當單向鏈表頭的“后地址”等于本地地址變量時,將單向鏈表頭的“后地址”賦值為將要掛載的內存塊地址使單向鏈表頭指向了要掛載的內存塊;否則回到步驟3.1。
4.根據權利要求3所述一種無鎖化內存申請釋放方法,其特征在于:每次進行周期性檢測,將單向鏈表上每一個內存塊歸還到緩存的實現方式如下,
將單向鏈表頭與本地的空鏈表頭替換,從單向鏈表頭開始輪尋單向鏈表,將每一個內存塊歸還到緩存,輪尋完畢時檢測完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢郵電科學研究院,未經武漢郵電科學研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310336094.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:焊縫應力消除移動機器人跟蹤系統
- 下一篇:一種水體重金屬移動流化吸附裝置





