修改线程

This commit is contained in:
hm
2020-12-26 23:15:20 +08:00
parent fd40036fd8
commit e9a4732dc9
8 changed files with 72 additions and 16 deletions
+33 -1
View File
@@ -1091,11 +1091,43 @@ void MainWindow::updateUI()//事件驱动式更新数据
case 5:
gps_str.append(tr("float[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 6:
gps_str.append(tr("float[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
default:
gps_str.append(tr("err[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
gps_str.append(tr("%1[%2颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
}
switch (dlink->mavlinknode->vehicle.gps_raw_int.fix_type) {
case 0:
gps_str.append(tr("UnKnow"));
break;
case 1:
gps_str.append(tr("Unlocated"));
break;
case 2:
case 3:
gps_str.append(tr("%1D[%2颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 4:
gps_str.append(tr("DGPS"));
break;
case 5:
gps_str.append(tr("FLOAT"));
break;
case 6:
gps_str.append(tr("INT"));
break;
default:
gps_str.append(tr("%1").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type));
break;
}
copk->setGPS(gps_str);
+4 -1
View File
@@ -26,6 +26,7 @@ void terminal::start()
thread = new QThread();
this->moveToThread(thread);
connect(thread, &QThread::started, this, &terminal::process);
connect(thread, &QThread::finished,thread,&QObject::deleteLater);
}
if(!thread->isRunning())
@@ -45,11 +46,13 @@ void terminal::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
@@ -77,7 +80,7 @@ void terminal::process()//线程函数
//qDebug() << count;
}
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
//thread->wait();//等待结束
thread->deleteLater();
+2
View File
@@ -48,11 +48,13 @@ void commandprocess::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
else
+16 -9
View File
@@ -50,18 +50,23 @@ MavLinkNode::MavLinkNode(QObject *parent) : QObject(parent)
connect(thread, &QThread::finished,
timer,&QTimer::stop),Qt::DirectConnection;
connect(thread, &QThread::finished,
timer,&QTimer::deleteLater),Qt::DirectConnection;
timer->start();
timer_1s = new QTimer();
timer_1s->setInterval(1000);
connect(timer_1s,&QTimer::timeout,
this,&MavLinkNode::timer_1s_Out,Qt::DirectConnection);
timer_1s->start();
connect(thread, &QThread::finished,
timer_1s,&QTimer::stop),Qt::DirectConnection;
connect(thread, &QThread::finished,
timer_1s,&QTimer::deleteLater),Qt::DirectConnection;
timer_1s->start();
hasConneted = false;
@@ -174,8 +179,8 @@ MavLinkNode::~MavLinkNode()
if(replay->isActive())
{
replay->stop();
QThread::msleep(10);
delete replay;
replay->deleteLater();
replay = nullptr;
}
}
@@ -187,7 +192,7 @@ MavLinkNode::~MavLinkNode()
{
Mission->stop();
QThread::msleep(10);
delete Mission;
Mission->deleteLater();
Mission = nullptr;
}
}
@@ -199,7 +204,7 @@ MavLinkNode::~MavLinkNode()
{
Parameter->stop();
QThread::msleep(10);
delete Parameter;
Parameter->deleteLater();
Parameter = nullptr;
}
}
@@ -210,7 +215,7 @@ MavLinkNode::~MavLinkNode()
{
Commander->stop();//可能还没停止线程,后面不能紧跟着删除
QThread::msleep(10);
delete Commander;
Commander->deleteLater();
Commander = nullptr;
}
}
@@ -221,7 +226,7 @@ MavLinkNode::~MavLinkNode()
{
Status->stop();//可能还没停止线程,后面不能紧跟着删除
QThread::msleep(10);
delete Status;
Status->deleteLater();
Status = nullptr;
}
}
@@ -232,7 +237,7 @@ MavLinkNode::~MavLinkNode()
{
Terminal->stop();//可能还没停止线程,后面不能紧跟着删除
QThread::msleep(10);
delete Terminal;
Terminal->deleteLater();
Terminal = nullptr;
}
}
@@ -468,11 +473,13 @@ void MavLinkNode::stop()
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
@@ -516,7 +523,7 @@ void MavLinkNode::process()//线程函数
}
running_flag = false;
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
//thread->wait();
+4 -1
View File
@@ -25,6 +25,7 @@ void MissionProcess::start()
thread = new QThread();
this->moveToThread(thread);
connect(thread, &QThread::started, this, &MissionProcess::process);
connect(thread, &QThread::finished,thread,&QObject::deleteLater);
}
if(!thread->isRunning())
@@ -44,11 +45,13 @@ void MissionProcess::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
else
@@ -87,7 +90,7 @@ void MissionProcess::process()//线程函数
//qDebug() << count;
}
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
//thread->wait();//等待结束
thread->deleteLater();
+4 -1
View File
@@ -25,6 +25,7 @@ void ParameterProcess::start()
thread = new QThread();
this->moveToThread(thread);
connect(thread, &QThread::started, this, &ParameterProcess::process);
connect(thread, &QThread::finished,thread,&QObject::deleteLater);
}
if(!thread->isRunning())
@@ -44,11 +45,13 @@ void ParameterProcess::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
else
@@ -75,7 +78,7 @@ void ParameterProcess::process()//线程函数
}
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
//thread->wait();//等待结束
thread->deleteLater();
+4 -1
View File
@@ -41,6 +41,7 @@ void Replay::start()
thread = new QThread();
this->moveToThread(thread);
connect(thread, SIGNAL(started()), this, SLOT(process()));
connect(thread, &QThread::finished,thread,&QObject::deleteLater);
}
if(!thread->isRunning())
@@ -88,11 +89,13 @@ void Replay::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
}
else
@@ -248,7 +251,7 @@ void Replay::process()//线程函数
//mutex.unlock();
}
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
thread->deleteLater();
thread = nullptr;
+5 -2
View File
@@ -28,6 +28,7 @@ void statusprocess::start()
thread = new QThread();
this->moveToThread(thread);
connect(thread, &QThread::started, this, &statusprocess::process);
connect(thread, &QThread::finished,thread,&QObject::deleteLater);
}
if(!thread->isRunning())
@@ -47,11 +48,13 @@ void statusprocess::stop()
if(thread->isRunning())
{
running_flag = false;
/*
qDebug() << "thread stop"
<< QThread::currentThreadId()
<< QThread::currentThread()
<< "running state:"
<< running_flag;
*/
disconnect(thread, nullptr, nullptr, nullptr);
@@ -90,9 +93,9 @@ void statusprocess::process()//线程函数
}
}
//退出线程
disconnect(thread, nullptr, nullptr, nullptr);
//disconnect(thread, nullptr, nullptr, nullptr);
thread->quit();
//thread->wait(200);//等待结束
//thread->wait();//等待结束
thread->deleteLater();
thread = nullptr;
}