[发明专利]一种基于全局管理的内存池管理方法有效
申请号: | 201710158163.6 | 申请日: | 2017-03-16 |
公开(公告)号: | CN108595259B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 王志刚 | 申请(专利权)人: | 哈尔滨英赛克信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于全局管理的内存池管理方法,包括如下步骤:S1、本内存池管理方法共分两部分实现:一部分用于工作线程的申请释放即内存管理模型的内存分配回收操作,另一部分是管理线程对各私有内存池空闲节点的迁移操作;S2、程序初始化时为每一个线程都建立一块线程私有内存池;S3、每个线程向自己的线程私有内存池申请释放内存节点;S4、全局管理线程对每一个线程私有内存池中的节点数进行平衡操作;S5、如果所有的线程私有内存池中的空闲节点都低于警报阈值,则向系统申请内存,并释放给内存;S6、线程释放内存节点时;S7、将相应线程的内存节点放入相应的线程私有内存池中。能够有效提高内存分配释放效率以及内存使用率。 | ||
搜索关键词: | 一种 基于 全局 管理 内存 方法 | ||
【主权项】:
1.一种基于全局管理的内存池管理方法,其特征在于,包括如下步骤:S1、本内存池管理方法共分两部分实现:一部分用于工作线程的申请释放即内存管理模型的内存分配回收操作,另一部分是管理线程对各私有内存池空闲节点的迁移操作;S2、程序初始化时为每一个线程都建立一块线程私有内存池,内存池使用循环队列结构实现;S3、每个线程向自己的线程私有内存池申请释放内存节点;S4、全局管理线程对每一个线程私有内存池中的节点数进行平衡操作,如果某一个线程私有内存池中的空闲节点数量小于警报阈值,则从其他空闲节点富余的线程私有内存池装中取出节点放入该空闲节点短缺的线程私有内存池中;S5、如果所有的线程私有内存池中的空闲节点都低于警报阈值,则向系统申请内存,并释放给内存;S6、线程释放内存节点时,首先判断节点是否属于本线程,如果是本线程的节点,则直接放置回本线程的线程私有内存池中,如果该内存节点是单独向系统申请的,则释放给系统,如果该内存节点属于其他线程,则将该节点放入垃圾回收队列供全局管理线程同一处理;S7、全局管理线程轮询每一个线程的垃圾回收队列,将相应线程的内存节点放入相应的线程私有内存池中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨英赛克信息技术有限公司,未经哈尔滨英赛克信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710158163.6/,转载请声明来源钻瓜专利网。