Я заметил следующее поведение в следующем коде (используя threading.Timer class):
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()
Вывод кода:
<_MainThread(MainThread, started 5836)>
Timer is still alive
Timer is finished
Как мы видим из вывода, объект таймера все еще жив и завершен в одно и то же время.
На самом деле, я хотел бы вызвать аналогичную функцию сотни раз, и мне интересно, могут ли эти "живые" таймеры влиять на производительность.
Я хотел бы остановить или отменить объект таймера соответствующим образом. Правильно ли я делаю это?
Спасибо