python 析构函数无法被正确调用的问题
class A:
def __init__(self):
print "init A"
def __del__(self):
print "del A"
class B:
def __init__(self):
print "init B"
self._a = A()
raise Exception
def __del__(self):
print "del B"
b = B()
import time
from threading import Thread
class C:
def __init__(self):
print "init"
self._thread = Thread(target=self._run)
self._thread.daemon = True
self._thread.start()
def __del__(self):
print "del"
def _run(self):
time.sleep(1000)
c = C()
c = None
import time
from threading import Thread
class C:
def __init__(self):
print "init"
self._thread = Thread(target=self._run)
#~ self._thread.daemon = True
self._thread.start()
def __del__(self):
print "del"
def _run(self):
#~ time.sleep(1000)
time.sleep(2)
for i in range(10):
c = C()
time.sleep(1)
class C:
def __init__(self):
print "init"
self._thread = Thread(target=run)
...
def __del__(self):
print "del"
def run():
...