2
我完全不熟悉使用線程編程,而且由於類正在使用QThreads,所以我想知道爲什麼我不能從其內部調用QThread的start
函數,並且它的run
函數開始獨立於另一個線程開始執行(程序看起來像當我這樣做時會崩潰)。相反,我必須從聲明對象的任何地方調用start函數。爲什麼是這樣?爲什麼我不能從本身內部調用類的啓動函數?
一些代碼:
class ClassWithThread : public QThread
{
public:
ClassWithThread() {}
someFunction() {start();}
run()
{
//do some stuff here
}
}
這基本上是我的課做什麼。當我打電話給someFunction
程序崩潰。如果我從someFunction
中刪除start
聲明,並且從程序外部調用start
,那麼它工作正常。
發佈一些代碼。 – 2010-12-14 05:21:57
啓動什麼樣的功能?靜態或東西?請發佈更多代碼。 – Arunmu 2010-12-14 05:32:21
@ArunMu沒有什麼是靜態的 – wrongusername 2010-12-14 05:34:57