在 Qt 中,QThread 有两种常见的用法,分别对应不同的线程管理模型。这两种方法各有优缺点,适用于不同的场景:
1. 子类化 QThread(继承 QThread,重写 run() 方法)
这是传统的线程用法,类似于 Java 或 C++ 标准库中的线程模型。通过继承 QThread 并重写 run() 方法,将需要在子线程中执行的代码放在 run() 中。
步骤:
- 创建子类:继承
QThread,重写run()方法。 - 启动线程:实例化子类对象,调用
start()启动线程。 - 线程生命周期:
run()方法执行完毕后线程自动退出。
示例代码:
class WorkerThread : public QThread {
Q_OBJECT
protected:
void run() override {
// 子线程中执行的代码
for (int i = 0; i < 5; ++i) {
qDebug() << "Working in thread" << QThread::currentThreadId







![STM32单片机入门学习——第46节: [14-1] WDG看门狗](https://i-blog.csdnimg.cn/direct/26edd52d9c6d44abbed01355e6a26031.png)











