继承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();

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
猜你喜欢
  • 2020-11-10
  • 2022-12-23
  • 2022-02-09
  • 2021-12-04
  • 2021-12-08
  • 2021-09-02
  • 2021-10-08
相关资源
相似解决方案