qt 如何用QThread实现多线程例程
时间: 2024-05-07 14:19:17 浏览: 114
Qt多线程编程实例_QThread用法详解
在Qt中使用QThread实现多线程例程可以按照以下步骤:
1. 创建一个继承自QThread的自定义线程类,例如MyThread。
2. 在MyThread类中重写run()函数,该函数是线程的执行体,将在新线程中运行。
3. 在run()函数中编写需要在新线程中执行的代码。
4. 在主线程中创建MyThread对象,并调用start()函数启动线程。
下面是一个简单的示例代码,演示了如何使用QThread实现一个简单的多线程例程:
```c++
#include <QThread>
#include <QDebug>
class MyThread : public QThread
{
public:
void run() override
{
for (int i = 0; i < 10; i++)
{
qDebug() << "Thread ID: " << QThread::currentThreadId() << ", " << i;
sleep(1);
}
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyThread thread;
thread.start();
for (int i = 0; i < 10; i++)
{
qDebug() << "Main Thread ID: " << QThread::currentThreadId() << ", " << i;
sleep(1);
}
return a.exec();
}
```
在上面的代码中,我们创建了一个继承自QThread的自定义线程类MyThread,并在其中重写了run()函数,该函数中包含了需要在新线程中执行的代码。在主函数中,我们创建了MyThread对象,并调用它的start()函数启动线程。同时,在主线程中也包含了需要在主线程中执行的代码。
当程序运行时,我们会看到两个线程交替执行,输出线程ID和计数器的值,证明了多线程例程的成功实现。
阅读全文