【发布时间】:2015-11-21 18:55:01
【问题描述】:
我有几个类通过另一个类相互通信(类似于中介者模式)。
每个类在创建和销毁时都会打印一条消息:
当我创建一个 Mediator 对象时,Mediator 持有对所有其他对象的引用,并且所有对象都持有对 Mediator 的引用。
之后,程序结束时不会调用对象的析构函数:
这是为什么呢?这是内存泄漏吗?
【问题讨论】:
-
听起来你有循环引用。考虑使用
weakref作为后向引用。 -
请发布复制/粘贴代码,而不是您的编辑器的屏幕截图或其他任何内容。
-
只是为了扩展......当对象有前向和后向引用时,引用计数可能永远不会变为零,也不会被删除。垃圾收集器试图找出它,但不是 100%。
标签: python design-patterns mediator