ho notato il seguente comportamento nel codice seguente (utilizzando la classe Threading.Timer):Python - Threading.Timer rimane vivo dopo aver chiamato cancel() metodo
import threading
def ontimer():
print threading.current_thread()
def main():
timer = threading.Timer(2, ontimer)
timer.start()
print threading.current_thread()
timer.cancel()
if timer.isAlive():
print "Timer is still alive"
if timer.finished:
print "Timer is finished"
if __name__ == "__main__":
main()
L'uscita del codice è:
<_MainThread(MainThread, started 5836)>
Timer is still alive
Timer is finished
Come si nota dall'output, che l'oggetto timer è ancora vivo e terminato nello stesso tempo.
In effetti, mi piacerebbe chiamare una funzione simile centinaia di volte, e mi chiedo se quei timer "viventi" possano influenzare le prestazioni.
Vorrei interrompere o annullare l'oggetto del timer in modo corretto. Lo sto facendo bene?
Grazie
Grazie per l'elaborazione. –