• 4479阅读
  • 7回复

[提问]多线程的问题 [复制链接]

上一主题 下一主题
离线zhoumfk11111
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-06
我在主线程上开辟了一个次线程,然后我就希望主线程等待,次线程操作,等次线程结束后就在开始执行未完的主线程,请问怎么搞,请各位大侠帮帮忙?
离线roywillow

只看该作者 1楼 发表于: 2012-04-06
呃……总感觉让主线程等待的话……还有必要多线程吗?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zhoumfk11111
只看该作者 2楼 发表于: 2012-04-06
因为那个次线程是QtcpSocket的,我控制不了,但是我需要他计算的结果,等次线程的结果出来了我的主线程才能显示,所以那个控制不了的次线程是有必要的
离线roywillow

只看该作者 3楼 发表于: 2012-04-06
回 2楼(zhoumfk11111) 的帖子
QThread的void QThread::finished()信号大概是你想要的?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zhoumfk11111
只看该作者 4楼 发表于: 2012-04-07
不是,我需要在主线程中去捕捉次线程中的信号,给你个示例你局明白了
int main()

    ...
        QThread a;
         a.start();  //想办法让主线程停止,而让a线程去执行,一般而言在这里主线程要执行完最后一句话,才能进入到a.run()中,才能去执行a线程,然后等a线程执行完后(主线程可以捕捉a
线程的finished()信号)再去执行未完的主线程
         ...
离线zhoumfk11111
只看该作者 5楼 发表于: 2012-04-07
怎么没有人回答呢,顶上去
离线呆呆很呆
只看该作者 6楼 发表于: 2012-04-07
QThread::wait是不是啊,作用是等待QThread退出
离线zhoumfk11111
只看该作者 7楼 发表于: 2012-04-16
我是想让主线程等待,主线程能用QThread::wait吗
快速回复
限100 字节
 
上一个 下一个