複数のスレッドを起動する方法

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();
}

このコードを実行すると、2つのスレッドが作成され、各スレッドの ID が表示されます。メインスレッドは、スレッド 1 とスレッド 2 の実行が完了するまで待機してから終了します。

bannerAds