我目前正在開發一個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