我有一个同时运行约400个线程的应用程序。一切正常。用户可以通过按一些按钮来停止线程。
要停止线程,我实现了一个全局变量,当按下按钮时,该全局变量设置为True
。线程定期检查此变量。如果启用,则return
。
return
对我来说可以很好地用作停止线程的一种方式:我看不到线程向用户输出的更多信息。但是,当我检入任务管理器内存时,会发现以下内容:
在启动线程之前,Python占用约64MB RAM
启动线程后,Python占用约700MB RAM
如上所述停止线程后,Python 大约需要600MB RAM,但永远不会回到64MB RAM
我认为这是垃圾收集问题。也许使用return
是个坏主意。我该怎么解决?
更新:
该应用程序是Tkinter应用程序,并且线程在单独的TopLevel中运行。