Python Mediator模式内存泄漏?

时间:2015-11-21 18:55:01

标签: python design-patterns mediator

我有一些类通过另一个类相互通信(类似于Mediator模式)。

每个类在创建和销毁时都会打印一条消息:

enter image description here

当我创建Mediator对象时,Mediator保存对所有其他对象的引用,并且所有对象都保存对Mediator的引用。

之后,对象'程序结束时不会调用析构函数:

enter image description here

为什么?这是内存泄漏吗?

1 个答案:

答案 0 :(得分:2)

在你的情况下,应用程序正在退出,因此操作系统分配给python进程的所有内存一旦终止就会被释放。

至于为什么没有打印语句,当程序退出它会破坏对象时,我假设您使用__del__方法打印消息,并且如Python文档所述,这些方法不能保证被调用在程序退出时,Link here

  

对象.__德尔__(个体):

     

...无法保证为解释器退出时仍然存在的对象调用__del __()方法。