【问题标题】:How to find out which specific circular references are present in code如何找出代码中存在哪些特定的循环引用
【发布时间】:2015-11-02 02:13:18
【问题描述】:

我有一些 python 代码,其中 gc.collect() 似乎释放了大量内存。鉴于 Python 的引用计数性质,我倾向于认为我的程序包含很多循环引用。由于有些数据结构比较大,我想介绍一下弱引用。现在我需要找到循环引用,找到了一些明显的引用,我想知道是否可以检测到循环引用和明确形成环的对象。到目前为止,我只看到了有关如何调用 gc.collect 等的教程。人。

【问题讨论】:

标签: python garbage-collection


【解决方案1】:

除非您重写 __del__ 方法,否则您不必担心循环依赖,因为 Python 能够正确处理它们。

【讨论】:

  • ... 直到您尝试使用 python 的多处理并且您的对象不再腌制。 IMO 在设计应用程序时考虑如何避免循环引用是一个好主意,因为它打开了几扇门以在以后优化性能。这与过早优化相同。
猜你喜欢
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 2013-11-21
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多