1、自定义1个子类继承自QRunnable
2、重写run方法,编写子线程的业务逻辑
3、使用QThreadPool的全局方法来开启这个线程
4、线程的回收不需要关注,由QThreadPool处理
5、缺点:无法使用信号槽机制
6、适合一些不需要和主线程通信的耗时的任务
举例:
窗口创建时开启1个耗时任务,打印ui线程和任务线程的id,任务线程被销毁时,打印日志

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QRunnable>
#include<QThread>
#include<QThreadPool>
//继承自QRunnable
class MyThread:public QRunnable
{
public:
MyThread()=default;
~MyThread()
{
qDebug()<<"我被销毁了";
}
//提供退出方法
void Stop()
{
stop=true;
}
protected:
//重写run方法
void run() override
{

最低0.47元/天 解锁文章
1021

被折叠的 条评论
为什么被折叠?



