• 4682阅读
  • 6回复

线程应该如何向主线程同步发送事件呢? [复制链接]

上一主题 下一主题
离线lanmengli
 

只看楼主 正序阅读 楼主  发表于: 2017-05-01

     多线程中,子线程应该如何向主线程同步发送事件呢?或者采用其他方式同步也可以?
哪位高手能指点一下。感谢
离线明离子

只看该作者 6楼 发表于: 2017-08-17

1.在mainwindow的添加成员:

    QSubObj m_Obj;

    QThread m_SubThread;

2.mainwindow构造函数中设置:

  m_Obj.moveToThread(&m_SubThread);
  m_SubThread.start();

3.mainwindow构造函数中绑定:
connect(&m_Obj,SIGNAL(Yoursignal()),this,SLOT(YourSlot()));

以后要想子线程向主线程中发消息,只需在子线程中使用emit Yoursignal()就可以了,当然,提到的信号和槽函数,都需要你来声明和实现的。
离线cdhigh

只看该作者 5楼 发表于: 2017-07-31
QT官方建议使用信号和槽,能保证线程安全
离线fu22507411

只看该作者 4楼 发表于: 2017-07-12
可以用信号量
邮箱jiahao_coffee@foxmail.com 有问题可以免费咨询,有空都会回答,不过太难了我答不上来不要介意哈
离线liuchangyin

只看该作者 3楼 发表于: 2017-05-27
发送消息,利用槽和消息应该可以吧
离线friendship

只看该作者 2楼 发表于: 2017-05-12
          
人生没有彩排,每一天都在现场直播
离线flfw1314

只看该作者 1楼 发表于: 2017-05-06
你说的同步发送事件是什么意思?主线程依赖子线程的消息做下一步的动作?
走吧。。。。不管往哪里走
快速回复
限100 字节
 
上一个 下一个