Qt::线程::继承QRunnable

 

继承QRunnable。和QThread使用一样,线程类继承于QRunnable。
重写run函数。和QThread一样,需要重写run函数,run是一个纯虚函数,必须重写。
使用QThreadPool启动线程

 

class PThreadRunnable : public QRunnable
{
public:
    explicit PThreadRunnable();
    ~PThreadRunnable();
    void run();
};

 

PThreadRunnable::PThreadRunnable()
{
}

PThreadRunnable::~PThreadRunnable()
{
    qDebug() << __FUNCTION__;
}

void PThreadRunnable::run()
{
    qDebug() << __FUNCTION__ << QThread::currentThreadId();
    QThread::msleep(1000);
}

 

 PThreadRunnable * subThread = new PThreadRunnable();
 QThreadPool * threadPool = new QThreadPool();
 threadPool->setMaxThreadCount(2);
 threadPool->start(subThread);
 threadPool->waitForDone();

 

posted @ 2021-12-02 16:51  osbreak  阅读(110)  评论(0编辑  收藏  举报