我正在尝试使用线程创建一个程序:主要以循环开头。当测试返回 true 时,我创建一个对象,我希望该对象在另一个线程中工作,然后返回并开始测试。
QCoreApplication a(argc, argv);
while(true){
Cmd cmd;
cmd =db->select(cmd);
if(cmd.isNull()){
sleep(2);
continue ;
}
QThread *thread = new QThread( );
process *class= new process ();
class->moveToThread(thread);
thread->start();
qDebug() << " msg"; // this doesn't run until class finish it's work
}
return a.exec();
问题是当我启动新线程时,主线程停止并等待新线程完成。