【发布时间】:2013-01-10 18:53:56
【问题描述】:
我用 Python 构建了一个网络爬虫应用程序。它由三个主要部分组成:
- GUI(基于 tkinter 构建)
- 客户端(控制前端和后端之间的接口)
- 后端代码(各种线程化进程)。
我遇到的问题是,当用户点击 X 退出程序而不是通过界面退出时,似乎 root.destroy() 永远不会被调用并且应用程序永远运行,即使窗口确实消失了。这最终会消耗大量系统资源。
我尝试将所有线程设置为 Daemon,但没有取得多大成功。退出后程序会继续占用 CPU 是否还有其他原因?
【问题讨论】:
-
你的程序是多线程的。是否有可能当一个线程结束(gui)时,其他线程仍然存在?