@GreenX5

Python. Как гарантированно закрыть поток закрытием окна Tkinter?

Подскажите пожалуйста как гарантированно закрыть созданный отдельный поток после закрытия окна Tkinter? Вот такая конструкция работает, но в случае вылета по исключению может не перешагнуть window.mainloop() и поток продолжит молотить, проверено.

from tkinter import *
import threading, time

run = True

def clik():
    while run:  
        print('loop')
        time.sleep(2)
   
Potok = threading.Thread(target = clik)

window = Tk()
window.geometry('300x300+500+500')
window.title("Thread Loop")

btn = Button(window, text="Старт!", command = lambda: Potok.start())
btn.grid(column=1, row=0)

window.mainloop()
run = False
  • Вопрос задан
  • 1096 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
threading.Thread(target = clik, daemon=True)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы