QThread类创建线程
时间: 2024-06-17 10:02:38 浏览: 10
QThread类是Qt框架中用于创建线程的类。通过承QThread类,可以方便地创建和管理线程。
QThread类的使用步骤如下:
1. 创建一个继承自QThread的子类,并重写其run()函数。在run()函数中编写线程的具体逻辑。
2. 在主线程中创建子线程对象,并调用start()函数启动线程。
3. 子线程会自动调用run()函数执行线程逻辑。
4. 可以通过重写QThread的其他函数,如构造函数、析构函数等,来实现更多的功能。
以下是一个简单的示例代码,演示了如何使用QThread类创建线程:
```cpp
#include <QThread>
#include <QDebug>
class MyThread : public QThread
{
public:
void run() override
{
qDebug() << "Thread started";
// 线程逻辑
for (int i = 0; i < 5; ++i) {
qDebug() << "Thread running" << i;
sleep(1); // 模拟耗时操作
}
qDebug() << "Thread finished";
}
};
int main()
{
qDebug() << "Main thread started";
MyThread thread;
thread.start(); // 启动线程
// 主线程继续执行其他逻辑
for (int i = 0; i < 3; ++i) {
qDebug() << "Main thread running" << i;
sleep(1); // 模拟耗时操作
}
thread.wait(); // 等待线程结束
qDebug() << "Main thread finished";
return 0;
}
```