PyQt - 多线程应用程序泄漏内存。我应该在完成时删除线程吗?

时间:2015-04-21 18:05:54

标签: python multithreading memory-leaks pyqt pyqt4

我有一个泄漏内存的多线程PyQt应用程序。泄漏内存的所有功能都是工作线程,我想知道我的方法是否存在根本性的错误。

当主应用程序启动时,将从线程类创建各种工作线程实例,但它们最初不会启动。

当需要工作线程的函数运行时,线程被初始化(数据和参数从main函数传递,变量从工作器实例中重置),然后线程被启动。 工作线程完成其业务,然后完成,但从未正式删除。

如果再次调用该函数,则会再次初始化,启动,运行,停止等线程实例...

因为可以调用线程一次又一次地运行,所以我从未看到过正式删除它们的必要性。我原本认为相同的变量只是被重复使用,但现在我想知道我是不是错了。

这听起来像是我的内存泄漏的原因吗?我是否应该在完成后删除线程,即使它们将再次被调用?

如果这是我的问题的根源,有人可以指向我如何正确处理线程删除过程的代码示例? (如果重要的话,我使用的是PyQt 4.11.3,Qt 4.8.6和Python 3.4.3)

0 个答案:

没有答案