当前位置: 代码迷 >> QT开发 >> Qt的线程懂得
  详细解决方案

Qt的线程懂得

热度:255   发布时间:2016-04-25 02:57:54.0
Qt的线程理解
最近看了Qt的线程内容,对QThread子类实例运行在哪个线程里有以下理解,不知对不。麻烦知道的高手给予解答。
Thread是QThread的实现子类。其中实现了run方法(新线程的入口点),show方法。

class Thread : public QThread
{
public:
    explicit Thread();
    ~Thread();

    void show();

    virtual void run();
    ...
};



int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    Thread* test = new Thread();

    test->run();
    test->show();

    return app.exec();
}

我想问下:run方法实际是在一个新的线程中运行;show方法及test中的其它所有方法都是在main函数运行的主线程下运行,与run方法是独立的两个线程。不知这种理解对否?
------解决思路----------------------
你没调用start(),新线程就没有起来。按你的写法,属于直接调用,run()、show()都在主线程。
可以参考《Qt on Android核心编程》的多线程章节,有详细讲述。
  相关解决方案