Qt5線程錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))
阿新 • • 發佈:2019-03-26
文章 原創 delete class 函數 開啟 mov runt 連接
背景:
當前類,編寫接收子線程類信號的槽函數和觸發子線程類執行的信號;
新建一個子線程類,編寫槽函數和信號,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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
Qt5線程錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))