我正在修改一个使用元类实现单例模式的旧库。
继承自type
类的Singleton类定义了__call__
函数。
目前,使用此库创建的单例对象永远不会被删除。我在单例类中定义了__del__
方法,但是这个方法从未被调用。
澄清一下:我已经实现了一个名为Singleton
的(元)类,它被多个类使用,并将Singleton
用作__metaclass__
。
例如,我有一个class A(object)
,它具有__metaclass__ = Singleton
。A类有几个成员变量,我希望它们在程序结束时随着A对象(唯一存在的对象)的销毁而被销毁。
我尝试在A
类中定义__del__
方法,但是它不起作用。