[发明专利]内存的申请使用方法及装置在审

专利信息
申请号: 201810750692.X 申请日: 2018-07-10
公开(公告)号: CN109144902A 公开(公告)日: 2019-01-04
发明(设计)人: 任广磊 申请(专利权)人: 北京佳讯飞鸿电气股份有限公司
主分类号: G06F12/14 分类号: G06F12/14;G06F9/50
代理公司: 北京超凡志成知识产权代理事务所(普通合伙) 11371 代理人: 王术兰
地址: 100095 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 内存 线程 引用 应用程序提供 资源使用效率 内存使用率 内存释放 内存泄露 再次利用 资源池 调用 申请 指针 回收 优化 统计 访问
【说明书】:

发明提供了一种内存的申请使用方法及装置,利用任务线程与资源池的交互,实现线程对内存的调用,内存释放后能够立即回收并再次利用,提高资源使用效率,并且消除了引用计数循环引用导致的内存泄露问题。通过ID访问内存,消除了野指针使用可能。方便统计内存使用率,可为优化应用程序提供手段。

技术领域

本发明涉及资源管理技术领域,具体而言,涉及一种内存的申请使用方法及装置。

背景技术

目前在多线程编程,对资源的使用一般采用引用计数、垃圾回收的方式使用资源。

比如在C++中引入了智能指针,程序员不用再纠结于建立出来的内存在哪释放比较合适这种问题。比如当一个资源被多个线程共享时,程序员需要在所有模块的生命周期都结束时,由最后一个不使用该指针的线程触发指针的释放行为。

然而凡事都不会尽善尽美,智能指针还是存在一定的缺陷:

(1)当循环引用发生时,基于引用计数的智能指针时,会带来的内存泄漏。

(2)资源释放需要等到引用计数为0时才能释放,资源利用率低。

(3)增加程序复杂性,当发生内存泄露问题时定位过程复杂。

发明内容

针对上述现有技术中存在的问题,本发明提供了一种内存的申请使用方法。

第一方面,本发明实施例提供了一种内存的申请使用方法,应用于任务线程,所述方法包括:

向资源池发送资源申请请求,以触发资源池分配内存;

接收所述资源池发送的内存信息,所述内存信息至少包括内存标识和内存地址;

向所述资源池发送资源使用请求,以触发所述资源池检测所述内存是否有效;

若有效,则接收所述资源池发送的资源有效信息,并使用内存。

进一步的,若有效,则接收所述资源池发送的资源有效信息,并使用内存之后,所述方法还包括:

向所述资源池发送释放资源请求,以触发所述资源池释放资源。

进一步的,若所述内存无效,则接收所述资源池发送的资源无效信息,并再次向所述资源池请求内存。

第二方面,本发明实施例提供了一种内存的申请使用方法,应用于资源池,所述方法包括:

接收所述任务线程发送的资源申请请求,向所述任务线程分配内存并发送内存信息,所述内存信息至少包括内存标识和内存地址;

接收所述任务线程发送的资源使用请求,检测所述内存是否有效;

若有效,则向任务线程发送资源有效信息,以触发所述任务线程使用所述内存。

进一步的,若有效,则向任务线程发送资源有效信息,以触发所述任务线程使用所述内存之后,所述方法还包括:

接收所述任务线程发送的资源释放请求,释放所述内存,并向所述任务线程发送释放成功信息。

第三方面,本发明实施例提供了一种内存的申请使用装置,应用于任务线程,所述装置包括:

申请模块,用于向资源池发送资源申请请求,以触发资源池分配内存;

接收模块,用于接收所述资源池发送的内存信息,所述内存信息至少包括内存标识和内存地址;

检测模块,用于向所述资源池发送资源使用请求,以触发所述资源池检测所述内存是否有效;

使用模块,用于若有效,则接收所述资源池发送的资源有效信息,并使用内存。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京佳讯飞鸿电气股份有限公司,未经北京佳讯飞鸿电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810750692.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top