• 5348阅读
  • 2回复

线程 'RPC 回调线程' (0x27d8) 已退出,返回值为 0 (0x0) [复制链接]

上一主题 下一主题
离线wjz2047
 

只看楼主 正序阅读 楼主  发表于: 2013-11-19
最近在学qt多线程编程。线程A:
A::run()
{
     suanfa();  //此算法会在一个特定文件夹下生成若干文件。
     。。。
}

线程B:
B::run()
{
   监测特定文件夹,监测到文件生成,则 执行emit,对应函数为下面的C.
}


MainWindow::C()
{
   qDebug("abc");
}
此时程序运行正常。现在更改MainWindow函数

MainWindow::C()
{
   hanshu();
}
此时程序出现如下提示信息:
线程 'RPC 回调线程' (0x27d8) 已退出,返回值为 0 (0x0)。
伴随着发生的是线程A 中的suanfa()这个函数还没执行结束,就开始执行下面“。。。”代表的代码了。请热心的论坛朋友帮忙看看。

离线zheguzai

只看该作者 2楼 发表于: 2013-11-20
我觉得你应该改一下,A线程执行文本后发送信号给b线程,b线程检测完毕后再发信号给mainwidow,这样再执行c
还有你的B线程中有没有死循环啊,如果没有死循环,它只检测一次,没检测到就退出了,你的A线程还没完成呢,B线程已经退出了


离线wjz2047

只看该作者 1楼 发表于: 2013-11-19
既然运行  qDebug("abc");这句话没问题,而运行hanshu();这句话就出现问题,那是不是可以说问题出在这个hanshu()内部代码中呢?
快速回复
限100 字节
 
上一个 下一个