QT中线程的退出分析

QT中线程的退出分析

  • 前言
    • 开发环境
    • 代码的整改
      • 第一次修改
      • 第一次修改引起的问题
        • 问题原因分析
        • 解决方法
      • 第二次修改

前言

软件实际开发过程中有好几处要实现这么一个功能:PC端软件“应用程序重启” ,本来这是一段比较简单的事情,但是因为重启软件报通信异常(错误日志中有记录通信异常的错误)。此问题解决起来一直在禅道中反反复复的关闭了又打开,没有得到彻底的解决。
基于这种情况,我参与了此问题的解决,在解决的过程中发现了一些有意思的东西,并把问题记录了下来。
这也就是今天这遍文章的由来。

开发环境

系统:windows 10 ,windows 11
QT版本:qt5.12.9
编译器:MSVC (VS2017)

代码的整改

第一次修改

原来是三处都写了重启应用程序,把三次相同的代码合为一处

 int restartApp()
{
   
    QString program = QApplication::applicationFilePath();
    QStringList arguments = QApplication::arguments();
    if (!arguments.contains("restart"))
    {
   
        arguments.append("restart");
    }
    QString wor

你可能感兴趣的:(qt,开发语言)