码迷,mamicode.com
首页 > 编程语言 > 详细

python垃圾回收二

时间:2018-02-04 11:10:22      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:不可变对象   计数   不能   垃圾回收   pytho   blog   一个   不可变   组合   

由于循环引用的存在,我们在删除了a跟b之后,引用计数是1,这样,现有的垃圾回收机制是永远不可能把她们删除了。他们将永远存在于内存中。

 

我们当然不能对这种情况置之不理,于是,我们又添加了两种新的回收机制:标记清理,分代回收。这两种机制组合起来的效果笼统的说,我们就是设定了一个周期性任务,周期一到,任务启动,该任务是:对所有的可变对象都分析一遍,找出像ab这样的已经不用的,但是普通的垃圾回收机制又回收不了的垃圾,并清理掉,因为不可变对象不存在循环引用,所以该任务不需要对他们分析,只需要分析可变对象即可。

我们用标记清除的方法来完成这一任务,而分代回收就是设定到底是什么时候执行一遍标记清除。

 

python垃圾回收二

标签:不可变对象   计数   不能   垃圾回收   pytho   blog   一个   不可变   组合   

原文地址:https://www.cnblogs.com/saolv/p/8411985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!