quit 異步離開 綫程槽


調用 quit() 會退齣所有相關事件並釋放資源,最後離開 QThread 綫程。

由於 quit() 不是立即終止 QThread 綫程,所以工作是異步的,且更安全、更可控。

  1. 異常警告

  2. 當 QThread 綫程實例 self.threadObject 先調用 quit() 離開槽, 再使用 self.threadObject.deleteLater() 稍後刪除公共槽、del self.threadObject 形式語句、或 delattr(self, "threadObject") 內置函數,刪除綫程實例。

    若之後仍有此 QThread 綫程實例 self.threadObject 的相關操作 (包括自動垃圾迴收),在後颱就可能輸齣以下警告提示 (甚至導緻應用程序崩潰):

    QThread: Destroyed while thread is still running
    						

    相比 terminate() 立即終止 QThread 綫程,雖然存在以上現象,但 quit() 異步、安全離開綫程更可控。

另請參閱:

PySide6 QThread 使用技巧

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。

內容錶

  1. 異常警告

上一話題

QThread 用法

下一話題

terminate 槽

快速搜索