Как сбросить поток после его завершения - PullRequest
0 голосов
/ 09 апреля 2020

Я использую kivy и пытаюсь найти способ «перезагрузить» мой поток после его завершения, хотя я знаю, что сброс потоков невозможен. Итак, как мне запустить поток после его запуска один раз, если я скажу это? У меня есть экран, настроенный с помощью кнопки, которая при нажатии запускает поток в течение 5 секунд, а затем через 5 секунд возвращает меня к исходному экрану, но если я нажимаю кнопку после ее нажатия до того, как получаю сообщение об ошибке, говоря, что потоки могут использоваться только один раз. Вот код для потока. Я звоню, когда экран появляется впервые, используя on_pre_enter()

def countdown1():
    seconds = 5
    for i in range(seconds):
        timeleft = seconds-i
        print(str(timeleft) + " seconds remain")
        time.sleep(1)
    print("out of time")
    sm.current = "Evaluation"
    seconds = 5

countdown1_thread = threading.Thread(target = countdown1)

1 Ответ

0 голосов
/ 09 апреля 2020

Попробуйте заменить

countdown1_thread.start()

на:

threading.Thread(target = countdown1).start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...