通過moveToThread實現的線程,如何正確銷燬

1.解除與線程工作函數(槽函數)相連的所有信號,包括定時器的timeout及其他。

timer_do.disconnect();

2.將線程的finished信號與工作對象的deleteLater函數相連接。

connect(&thread_do,&QThread::finished,&worker_do,&class_do::deleteLater);

3.正常退出線程。

thread_do.quit();
thread_do.wait();
thread_do.deleteLater();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章