我应该担心Python中的循环引用吗?

我应该担心Python中的循环引用吗?,第1张

我应该担心Python中的循环引用吗?

“担心”放错了地方,但是,如果您的程序运行缓慢,消耗的内存超出预期,或者出现奇怪的莫名其妙的暂停,则原因很可能是在那些垃圾引用循环中-
它们需要由程序集进行垃圾收集。与“正常”(非循环)参考图不同的过程,并且如果您在这样的循环中捆绑了很多对象,则该收集是偶然的,并且可能会很慢(如果循环中的某个对象包含一个循环垃圾,那么也会禁止循环垃圾收集

__del__
特殊方法)。

因此,引用循环不会影响程序的正确性,但可能会影响其性能和/或占用空间。

如果并且当您想删除不必要的引用循环时,通常可以使用Python标准库中的weakref模块。

如果并且当您想对循环垃圾收集施加更直接的控制(或执行调试,看看到底发生了什么)时,请使用Python标准库中的gc模块。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5629542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存