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()メソッドの実行が終了したら、スレッドを停止してクラスインスタンスを削除する方法はありますか?

4

1 に答える 1

3

メソッドはスレッドで実行されるすべてのrun()ものであるため、終了すると何も実行されなくなります。その後、t.is_alive()戻りFalseます。その後、を使用してインスタンスを削除できますが、それはインスタンスdel tへの参照を削除するだけです。実際の削除は、しばらくしてガベージコレクターによって行われます。

于 2012-04-18T21:15:31.257 に答える