会 "break" 杀死线程 运行 while 循环吗?

Will "break" kill a thread running a while loop?

我问这个是因为我看到多个答案可能是答案,但我不能确定。所以我在这里问一下,以防其他人稍后搜索它。

我的代码是一个 tkinter 程序。 gui 运行在一个class中,而其他类可以运行作为线程。这是我用来设置线程以防止阻塞 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

所以这是我的问题。如果在class里面遇到那个break。它会停止功能,但保持线程完好无损, 还是在线程完成任务时使用 break 结束线程?

在您的代码中,如果遇到中断,那么 运行 函数将 return,因此线程将完成它的任务。