Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows QtConcurrent::run()导致QWaitCondition销毁消息_Windows_Multithreading_Qt - Fatal编程技术网

Windows QtConcurrent::run()导致QWaitCondition销毁消息

Windows QtConcurrent::run()导致QWaitCondition销毁消息,windows,multithreading,qt,Windows,Multithreading,Qt,我正在尝试使用QtConcurrent::run()方法运行类的函数。线程运行并执行它应该执行的操作。但是,当线程结束时,我在控制台中收到以下错误消息: QWaitCondition: Destroyed while threads are still waiting 它在Linux上运行良好,没有任何错误消息,但当我关闭应用程序时,应用程序在Windows中崩溃 以下是主要功能的代码: int main(int argc, char *argv[]) { QtSi

我正在尝试使用QtConcurrent::run()方法运行类的函数。线程运行并执行它应该执行的操作。但是,当线程结束时,我在控制台中收到以下错误消息:

QWaitCondition: Destroyed while threads are still waiting
它在Linux上运行良好,没有任何错误消息,但当我关闭应用程序时,应用程序在Windows中崩溃

以下是主要功能的代码:

  int main(int argc, char *argv[])
    {
        QtSingleApplication a(argc, argv);

        if(a.isRunning()&&argc==2)
        {
            a.sendMessage(argv[1]);
            return 0;
        }

        else if (a.isRunning())
        {
              return 0;
        }

        testApp w;

        testApp.show();

        a.setQuitOnLastWindowClosed(false);
        if(argc==2)
        {
            w.showDialog(argv[1]);
        }

        QObject::connect(&a, SIGNAL(messageReceived(const QString&)),
                         &w, SLOT(showDialog(QString)));



        return a.exec();
    }
编辑:

void MyClass::ready()
{
 QtConcurrent::run (this,&MyClass::start);
}

void MyClass::start()
{

  // do something
}

你能给我举个简单的例子吗
main()
函数几乎什么也没说。