QT如何等待1个线程等待其他1个线程执行

时间:2017-01-14 03:48:31

标签: qt

如何等待1个线程等待另一个线程在qt中执行。

我尝试使用Qt::BlockingQueuedConnection,但两个线程都在等待 我的程序是这样的:一个线程是A,其他线程是B,在线程A发送信号到命令线程B工作,然后在线程B发送信号到命令线程A工作

ExecuteTask类:

class ExecuteTask : public QObject
{
  void doWork()
  {
   //do something
   emit toShow();
  }
}
namespace Ui {
class ShowData;
}

class ShowData : public QWidget
{
  connect(this , &ShowData::toDoThing, myTask, 
         &ExecuteTask::doWork, Qt::BlockingQueuedConnection);
  connect(myTask , &ExecuteTask::toShow, this, 
         &ShowData ::dealShowData, Qt::BlockingQueuedConnection);
}
void ShowData::dealShowData()
{
   emit toDoThing();
}

0 个答案:

没有答案