“担心”放错了地方,但是,如果您的程序运行缓慢,消耗的内存超出预期,或者出现奇怪的莫名其妙的暂停,则原因很可能是在那些垃圾引用循环中-
它们需要由程序集进行垃圾收集。与“正常”(非循环)参考图不同的过程,并且如果您在这样的循环中捆绑了很多对象,则该收集是偶然的,并且可能会很慢(如果循环中的某个对象包含一个循环垃圾,那么也会禁止循环垃圾收集
__del__特殊方法)。
因此,引用循环不会影响程序的正确性,但可能会影响其性能和/或占用空间。
如果并且当您想删除不必要的引用循环时,通常可以使用Python标准库中的weakref模块。
如果并且当您想对循环垃圾收集施加更直接的控制(或执行调试,看看到底发生了什么)时,请使用Python标准库中的gc模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)