FanTools Help

安全退出 | Safe Quit

关于如何让程序中创建的执行死循环的 QThread 线程全部安全退出,我测试了许多方法,最终敲定的是这一款: 运行标志符退出法。

也就是设置一个 keepRunning 变量为 True ,当程序退出时将其设置为 False ,死循环写作 while keepRunning is True: 的形式。

现在,尝试关闭程序主窗口时,程序窗口会首先销毁,给用户以程序已经退出的假象;几个死循环线程将在循环下次回复到开始时退出循环体,从而让线程自行结束。

当然,我们仍然需要调用线程的 quit 方法并且 wait 一下,从而确保最大可能的安全性——不过跟等待一个60秒循环一次的线程来比,这都是小case了()

Last modified: 29 八月 2024