QTで、どのように複数のスレッドオブジェクトを作成するか

Qtでは、QThread クラスを使用して複数のスレッドオブジェクトを作成できます。以下はその一般的な方法です:

  1. QThread クラスを継承したカスタムスレッドクラスを作成します。このクラスで run() 関数をオーバーライドすると、この関数内のコードは新しいスレッドで実行されます。
class MyThread : public QThread
{
protected:
void run() override
{
// 在这里编写线程执行的代码
}
};
  1. 主スレッド内で、MyThreadオブジェクトを複数作成してstart()関数呼び出してスレッドを開始します。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建多个线程对象
MyThread thread1;
MyThread thread2;
MyThread thread3;
// 启动线程
thread1.start();
thread2.start();
thread3.start();
// 执行主线程的其他代码
return a.exec();
}

上記の方法で、Qtで複数のスレッドオブジェクトを作成し、各スレッドオブジェクトでそれぞれ異なるタスクを実行できます。スレッドオブジェクトのタスクが長時間実行される場合は、大量の QThread オブジェクトを直接作成するのではなく、 QThreadPool クラスを使用してスレッドを管理することをお勧めします。

bannerAds