会 "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,因此线程将完成它的任务。
我问这个是因为我看到多个答案可能是答案,但我不能确定。所以我在这里问一下,以防其他人稍后搜索它。
我的代码是一个 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,因此线程将完成它的任务。