我用Python构建了一个web-scraper应用程序。它由三个主要部分组成:
我遇到的问题是,当用户点击X退出程序而不是通过界面退出时,似乎root.destroy()永远不会被调用,应用程序会永远运行,即使窗口确实消失了。这最终消耗了大量的系统资源。
我尝试将所有线程设置为守护进程但没有取得多大成功。退出后该程序是否会继续占用CPU?
答案 0 :(得分:2)
您不希望将 所有 主题设置为daemon
。您希望将客户端线程和后端线程设置为守护程序。这样,当GUI线程死亡时,daemon
设置为True
的线程也会结束。
线程可以标记为“守护程序线程”。这个标志的意义在于,当只剩下守护程序线程时,整个Python程序都会退出。