0
我有一個從QThread的繼承一個類(讓稱它爲ClassA的),其在運行中的for循環刪除的QThread像以下:處理和循環
for(int i=0;i<somenumber;i++)
{
ClassA* classa = new ClassA();
classa->execute(); // just a normal direct function call
classa->exit();
classa->deleteLater();
}
的問題是ClassA的含有很多內存,並且在循環仍在運行時似乎沒有被破壞。所以程序在內存建立之後會很快崩潰(如內存泄漏)。我試圖使用「刪除classa」,這當然會導致程序崩潰。
任何人都知道如何在循環中正確運行和刪除這樣的類,所以它不會不斷地佔用內存。
for循環也位於另一個線程中。所以有一個線程層次結構,事件循環可能是調用deleteLater()的關鍵。代碼有點太複雜了,但我想要的最快捷的答案可能是如何在線程環境中正確刪除Qthread對象(即正確使用eventloop),所以沒有內存泄漏(或者更像是將內存構建爲Qthread對象不會被刪除)
[發佈最小的,完整的,有效的示例](http://stackoverflow.com/help/mcve)。 – Rakib
代碼有點太複雜了,但我想要的最快捷的答案可能是如何在線程環境中正確刪除Qthread對象(即正確使用eventloop),所以沒有內存泄漏(或者更像是內存構建因爲Qthread對象沒有被刪除) –