2012-04-18 39 views
1

想象我有這樣的代碼(不寫入實際的定時器還):刪除線程計時器類?

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()方法運行完畢後,是有一些方法來停止線程,並刪除類的實例?

回答

3

run()方法是在線程中運行的所有東西,所以當它完成時什麼都不在運行了。然後t.is_alive()將返回False。然後,您可以使用del t刪除實例,但這隻會刪除您對該實例的引用。實際的刪除將在一段時間後由垃圾收集器完成。

+0

顯然,評論必須超過15個字符,所以我不能只是說謝謝,你一直是一個真正的幫助^^ – Billie 2012-04-18 21:22:59