qt

qt如何开启多个线程

小亿
192
2023-10-14 04:24:46
栏目: 编程语言

在Qt中,可以使用QThread类来开启多个线程。以下是使用QThread开启多个线程的步骤:

  1. 创建一个继承自QThread的子类,例如MyThread。

  2. 在MyThread类中重写run()函数,编写需要在该线程中执行的代码。

  3. 在主线程中创建MyThread的实例对象,例如thread1和thread2。

  4. 调用thread1.start()和thread2.start()来启动线程。

以下是一个简单的示例代码:

#include <QThread>
#include <QDebug>
class MyThread : public QThread
{
public:
void run() override
{
qDebug() << "Thread ID:" << QThread::currentThreadId();
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyThread thread1;
MyThread thread2;
thread1.start();
thread2.start();
thread1.wait();  // 等待线程1执行完毕
thread2.wait();  // 等待线程2执行完毕
return a.exec();
}

执行以上代码,会开启两个线程并打印它们的线程ID。注意,主线程会等待线程1和线程2执行完毕后再退出。

0
看了该问题的人还看了