我目前正在开发一个python扭曲的服务器用作消息处理应用程序。我遇到了一个奇怪的问题。扭曲的python垃圾回收
我指定我的类来处理服务器的get_POST,并将接收到的消息传递给进一步处理它的类。
消息处理成一个字典,该字典是每次有新消息时被实例化的对象的成员。然而,在(例如)一条消息包含10个字典的消息之后,当处理仅有9个条目的消息时,第10个将仍然在字典中。
我已经能够解决此通过处理消息如之前明确地清理出的词典:
d = {}
不过,我很困惑,因为对象应该已经出来了在字典进一步处理后收集的范围和垃圾,并重新实例化每一条新消息。它似乎表现得像对象不是一个实例,并且将成员保存为单例,或者成员是静态的。
在扭曲的框架下,正常的范围策略的行为是否相同,还是我需要额外做些事情来确保对象在超出范围时进行GC'd操作?
谢谢!
-joe。
是没有阶级的启动甚至入店这本来是一个很如果你包含一些代码来说明你的方法(特别是如果它实际上是一个http://sscce.org/),那么这个问题很容易。在省略了这些信息的情况下,这是“猜测隐形程序有什么问题”的问题。 :( – 2012-04-27 00:00:08
感谢Jean-Paul,我们能够在下面看到这一点,它与我对类和实例范围变量的误解有关,并且与扭曲无关 – 2012-04-30 18:54:31