“中断”会杀死运行while循环的线程吗?

时间:2018-07-12 02:13:29

标签: python python-3.x python-multithreading

我之所以这样问,是因为我看到了多个答案,也许是答案,但是我不确定。所以我在这里问这个问题,以防以后有人搜索它。

我的代码是tkinter程序。 gui在一个类中运行,而其他类可以作为线程运行。这是我用来设置线程以防止gui阻塞的代码。

class RefreshVoyageClass(threading.Thread):

    def __init__(self, *args, **kwargs):

        threading.Thread.__init__(self, *args, **kwargs)
        self.daemon = True
        self.start()

    def run(self):
        while True:
            #some code here
            if check a certain condition:
                break

这是我的问题。如果在班级内部遇到中断。它会停止功能,但保持线程完整吗? 还是使用break在完成任务后终止线程?

1 个答案:

答案 0 :(得分:0)

在您的代码中,如果遇到中断,则run函数将返回,因此线程将完成其任务。