想象一下,我有这段代码(还没有编写实际的计时器):
class Timer(threading.Thread):
def __init__(self, seconds):
self.runTime = seconds
threading.Thread.__init__(self)
def run(self):
time.sleep(self.runTime)
#do some other function
print 'Finished'
t = Timer(60)
t.start()
一旦run()方法运行完毕,有没有办法停止线程,并删除类实例?
答案 0 :(得分:3)
run()
方法是在线程中运行的所有内容,因此当它完成后,任何内容都不再运行。然后t.is_alive()
将返回False
。然后,您可以使用del t
删除该实例,但这只会删除您对它的引用。实际删除将在一段时间后由垃圾收集器完成。