【技术实现步骤摘要】
内存回收方法、设备、存储介质和系统
[0001]本专利技术涉及计算机
,尤其涉及一种内存回收方法、设备、存储介质和系统。
技术介绍
[0002]在诸如手机、笔记本电脑、服务器等电子设备中,一个应用程序被启动时会启动相应的进程,进程会申请自己独立的一块或多块内存空间,而且,进程可以启动多个线程(称为应用线程)来执行应用程序运行过程中所需执行的各个任务。在任务执行过程中,会存在多个线程访问同一块内存空间的情形。当这块内存空间不再被访问的时候,可以回收这块内存空间,以提高内存的利用率。
[0003]针对上述多个应用线程访问同一内存空间的情况,一般会采用智能指针维护内存空间的生命周期。具体实施时,每个应用线程每次访问该内存空间时,都需要对智能指针进行构建操作和析构操作,举例来说,在某个应用线程访问该内存空间时,先构造指向该内存空间的智能指针,并对智能指针中的原子计数器的数值执行加一操作,在访问内存空间完毕后,析构该智能指针,以对原子计数器的数值执行减一操作。其中,多个应用线程共用该原子计数器,待原子计数器减为零时,即可对该内存空间进行回收处理。而在此过程中,为了保证多个应用线程间的原子性需要使用原子操作,原子操作以及不断地构建、析构智能指针,性能消耗较大。
技术实现思路
[0004]本专利技术实施例提供一种内存回收方法、设备、存储介质和系统,用于降低回收内存时的性能开销。
[0005]第一方面,本专利技术实施例提供一种内存回收方法,应用于对至少一个应用线程共同访问的目标内存空间进行回收的 ...
【技术保护点】
【技术特征摘要】
1.一种内存回收方法,其特征在于,应用于对至少一个应用线程共同访问的目标内存空间进行回收的回收线程,所述方法包括:响应于在第一时刻对所述目标内存空间触发的回收请求,对所述回收线程此时对应的第一版本号进行递增更新以得到第二版本号;确定所述第二版本号作为所述目标内存空间对应的版本号;响应于在第二时刻所述至少一个应用线程中目标应用线程执行完任务后触发的版本号获取请求,将所述回收线程此时对应的第三版本号发送至所述目标应用线程作为所述目标应用线程此时对应的版本号,所述目标应用线程是所述至少一个应用线程中任一个;若根据所述至少一个应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号,确定所述目标内存空间满足回收条件,则对所述目标内存空间进行回收处理。2.根据权利要求1所述的方法,其特征在于,所述若根据所述至少一个应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号,确定所述目标内存空间满足回收条件,则对所述目标内存空间进行回收处理,包括:若确定所述至少一个应用线程各自对应的版本号均大于所述目标内存空间对应的所述第二版本号,则对所述目标内存空间进行回收处理。3.根据权利要求1所述的方法,其特征在于,所述若根据所述至少一个应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号,确定所述目标内存空间满足回收条件,则对所述目标内存空间进行回收处理,包括:获取所述至少一个应用线程各自对应的活跃状态信息;若根据所述活跃状态信息确定所述至少一个应用线程中存在处于不活跃状态的应用线程,则在根据除所述处于不活跃状态的应用线程外的其他应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号确定所述目标内存空间满足回收条件时,对所述目标内存空间进行回收处理。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若根据所述至少一个应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号,确定所述目标内存空间不满足回收条件,则对所述回收线程对应的所述第三版本号进行递增更新以得到第四版本号。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于在第三时刻所述目标应用线程执行完任务后触发的版本号获取请求,将所述回收线程此时对应的所述第四版本号发送至所述目标应用线程作为所述目标应用线程此时对应的版本号。6.根据权利要求4所述的方法,其特征在于,所述响应于在第一时刻对所述目标内存空间触发的回收请求,对所述回收线程此时对应的第一版本号进行递增更新以得到第二版本号,包括:响应于在第一时刻将所述目标内存空间的地址信息写入第一队列而触发的回收请求,从所述第一队列获取所述目标内存空间的地址信息,对所述回收线程此时对应的第一版本号进行递增更新以得到第二版本号;所述若根据所述至少一个应用线程各自对应的版本号和所述目标内存空间对应的所述第二版本号,确定所述目标内存空间不满足回收条件之后,所述方法还包括:
将所述目标内存空间的地址信息写入用于存储等待进行回收的内存空间的第二队列,将所述目标内存空间的地址信息从所述第一队列中删除。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在接收到回...
【专利技术属性】
技术研发人员:韩运启,孙相征,游亮,
申请(专利权)人:阿里巴巴中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。