簡體   English   中英

如果 QThread 在 PyQt5 中被殺死,如何檢查 QThread 是活着還是被殺死並重新啟動它?

[英]How to check if a QThread is alive or killed and restart it if it is killed in PyQt5?

我有一個 PyQt5 應用程序來使用 QThread 一個一個地更新數據庫 collections 並在每個集合更新以在 GUI 上反映它時向主線程發送更新信號。 它 24X7 連續運行。 但不知何故,數據停止更新,GUI也停止接收信號。 但是應用程序仍在運行,因為其他部分可以訪問並正常運行。 在日志文件中也沒有發現錯誤。 大多數情況下,應用程序運行良好,但在某個隨機時間段后出現此問題(第一次是大約一個月后,然后是 2 周后,現在是 23 天后)。 但是重新啟動應用程序可以解決問題。 我嘗試使用 isRunning() 方法和 isFinished() 方法,但沒有發現任何變化。

誰能告訴是什么問題?? 先感謝您。 還告訴如何檢查 QThread 被卡住或被殺死的天氣?

如果線程中發生任何異常,那么線程可以很快結束。 所以你應該使用 settimeout function 在線程中調用任何第三方庫(數據更新)。 這將解決你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM