我查看了 python 的官方文档,但我似乎找不到引用循环是什么。任何人都可以澄清它对我来说是什么,因为我正在尝试理解 GC 模块。提前感谢您的回复。
最佳答案
引用循环仅仅意味着一个或多个对象相互引用,因此如果你在纸上用箭头表示依赖关系将它画出来,你会看到一个循环。
(几乎)最简单的引用循环是有两个对象 a
和 b
相互引用:
a.other = b
b.some_attr = a
天真的垃圾收集器严格按照一个对象是否被另一个对象引用来工作。在这种情况下,如果 a
和 b
都没有被其他任何东西引用,它们仍然会相互引用,并且天真的垃圾收集器可能不会回收内存。 (不过,我不知道 Python 是否可以被引用循环捕获。)
编辑:最简单的引用循环是引用自身的对象:
a = []
a.append(a)
关于python - python中的引用循环是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910774/