温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

QT多线程类数组同时开启几十个线程怎么实现

发布时间:2021-12-15 09:43:41 来源:亿速云 阅读:301 作者:iii 栏目:开发技术

这篇文章主要讲解了“QT多线程类数组同时开启几十个线程怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT多线程类数组同时开启几十个线程怎么实现”吧!


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

    texttread.h


    view source#define TEXTTREAD_H 

  • 04.#include <<a href="https://blog.51cto.com/user_index.php?action=addblog_new" target="_blank" class="keylink">QT</a>hread>

    05. 

    06.class textTread : public <a href="https://blog.51cto.com/user_index.php?action=addblog_new" target="_blank" class="keylink">QT</a>hread

    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 <qDebug>

    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 出的类数组,后面用的是.而不是-> 。

感谢各位的阅读,以上就是“QT多线程类数组同时开启几十个线程怎么实现”的内容了,经过本文的学习后,相信大家对QT多线程类数组同时开启几十个线程怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qt
AI