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