QT多线程类数组同时开启几十个线程怎么实现
admin
2023-08-02 06:00:08
0

  • 我们先定义一个线程类类:textTread

    texttread.h


    view source#define TEXTTREAD_H 

  • 04.#include <QThread>

    05. 

    06.class textTread : public "https://blog.51cto.com/user_index.php?action=addblog_new" target="_blank" class="keylink">QThread

    07.{

    08.Q_OBJECT

    09.public:

    10.textTread();

    11.void run();

    12.signals:

    13.void sendGUIThreadData(QString str);  //向主线程通信的信号

    14.public slots:

    15.void GetGUIThreadID(int mThreadID);  //接受主线程通讯过来数据的槽

    16.private:

    17.int ThreadID;

    18.};

    19. 

    20.#endif // TEXTTREAD_H


    再来看 texttread.cpp

    view sourceprint?

    01.#include "texttread.h"

    02.#include

    03.textTread::textTread()

    04.{

    05.}

    06.void textTread::run()

    07.{

    08.qDebug() << tr("Thread is Open,ThreadID : %1").arg(ThreadID);

    09.//You can do anything in here   嗨嗨拽两句鸟文

    10.}

    11.void textTread::GetGUIThreadID(int mThreadID)  //接受主线程通讯过来的数据

    12.{

    13.ThreadID = mThreadID;

    14.}


    再看在GUI主线程实现50个线程的代码:

    view sourceprint?

    01.const int LENGTH = 50;

    02. 

    03.textTread *tread;

    04.tread = new textTread[LENGTH];

    05.for(int i=0;i<=LENGTH-1;i++){

    06.connect(this,SIGNAL(SendGUIThreadID(int)),&tread[i],SLOT(GetGUIThreadID(int)));

    07.connect(&tread[i],SIGNAL(sendGUIThreadData(QString)),this,SLOT(GetGUIThreadData(QString)));

    08.emit SendGUIThreadID(i);

    09.tread[i].start();

    10.}

  • 声明类的指针数组。

    然后循环绑定信号与槽,最后循环用Start()运行线程,注意此处new 出的类数组,后面用的是.而不是-> 。

相关内容

热门资讯

AI时代,如何共筑数据库产业新... 7月10日电(记者 吴家驹)数据库作为支撑数字经济关键数据基座,在人工智能浪潮与产业变革深度交汇的当...
人形机器人整机产量有望破10万... 来源:中国经营报 中经记者 李玉洋 上海报道 2026年被定义为人形机器人量产元年。时间已过半,这一...
【深度】中国开启可回收火箭时代... 界面新闻实习记者 | 李响 界面新闻编辑 | 张慧 中国首次成功实施了运载火箭一子级可控回收。 ...
江苏涵育科创“雨林”   获得国家最高科学技术奖的耄耋院士扎根江苏书写创新传奇;“奋斗者号全海深载人潜水器”获得通用项目唯...
三星电子会长李在镕拟于本月底赴... IT之家 7 月 10 日消息,据韩媒《东亚日报》今天报道,三星电子会长李在镕预计将于本月底奔赴美国...
长征十号乙即将首飞 首创&qu... 我国首款轨道级可回收火箭一一长征十号乙的首飞窗口锁定在7月10日至13日,地点位于海南商业航天发射场...
晋江鞋厂火灾车间内部直击:堆积... 昨天(9日),福建泉州晋江陈埭镇江头村辉腾鞋业公司厂房发生火灾,记者今天从泉州市政府召开的新闻发布会...
万和热水器点火后熄灭故障 万和热水器点火后熄灭故障可能是由多种原因引起的。以下是一些可能的原因和解决方法:1. 电池电量不足:...
燃气热水器打着火后又熄灭 1、燃气热水器的电池坏了没有通电,导致不打火,或者打火后熄灭;2、热水器的电磁阀坏了导致打火后熄灭;...
燃气灶为什么点燃后自动熄灭 问题:燃气灶为什么点燃后自动熄灭回答:原因是灶具使用后,应保持灶面清洁,燃气灶的燃烧器上的火孔易被稀...