python垃圾回收二

Posted 扫驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python垃圾回收二相关的知识,希望对你有一定的参考价值。

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

 

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

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

 

以上是关于python垃圾回收二的主要内容,如果未能解决你的问题,请参考以下文章

python 开发 -- 02垃圾回收机制

python的垃圾回收机制

详解python的垃圾回收机制

Python语法入门之垃圾回收机制

python 垃圾回收机制的思考

Java学习笔记3.11.2 垃圾回收 - 垃圾回收的实现方式