停止线程后进行垃圾回收

时间:2019-03-05 07:15:18

标签: python python-3.x multithreading windows-7 garbage-collection

我有一个同时运行约400个线程的应用程序。一切正常。用户可以通过按一些按钮来停止线程。

要停止线程,我实现了一个全局变量,当按下按钮时,该全局变量设置为True。线程定期检查此变量。如果启用,则return

return对我来说可以很好地用作停止线程的一种方式:我看不到线程向用户输出的更多信息。但是,当我检入任务管理器内存时,会发现以下内容:

  • 在启动线程之前,Python占用约64MB RAM

  • 启动线程后,Python占用约700MB RAM

  • 如上所述停止线程后,Python 大约需要600MB RAM,但永远不会回到64MB RAM

我认为这是垃圾收集问题。也许使用return是个坏主意。我该怎么解决?

更新

该应用程序是Tkinter应用程序,并且线程在单独的TopLevel中运行。

0 个答案:

没有答案