Qt5線程錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))


背景:

        當前類,編寫接收子線程類信號的槽函數和觸發子線程類執行的信號;

        新建一個子線程類,編寫槽函數和信號,MyClass *m_MyClass=new MyClass();

        新建一個線程對象QThread *runThread=new QThread();

        使用connect連接當前類與子線程的信號槽,以便觸發線程及接收線程執行結果;

        使用m_MyClass.moveToThread(runThread),將子線程類移到線程中執行;

        runThread->start(),開啟線程。

 

**在當前線程的析構函數中,如果先刪除runThread再刪除m_MyClass,則會出現錯誤QThread: Destroyed while thread is still running

**正確的寫法應該是:

   runThread->exit(0);

   delete m_MyClass;

   delete runThread;
---------------------
作者:愛因
來源:CSDN
原文:https://blog.csdn.net/xbnlkdbxl/article/details/76828071
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM