PyQt 應用程序中的線程:使用 Qt 線程還是 Python 線程?

| | | | | | | | | | | | | | | | | | | |

我正在編寫一個 GUI 應用程序,該應用程序定期通過 Web 連接檢索數據。由於此檢索需要一段時間,這會導致 UI 在檢索過程中無響應(無法拆分為更小的部分)。這就是為什麼我想將 Web 連接外包給一個單獨的工作線程。

[是的,我知道,現在我有了 兩個問題.]

反正應用程序使用的是PyQt4,所以我想知道哪個更好選擇是:使用 Qt 的線程還是使用 Python threading 模塊?每個的優點/缺點是什麼?還是您有完全不同的建議?

編輯(重新賞金):雖然在我的特殊情況下的解決方案可能會使用像 Jeff OberLuk√°≈° Lalinsk√Ω 建議(因此基本上將並發問題留給網絡實現),我“仍然希望對一般問題有更深入的回答:

使用 PyQt4 的優點和缺點是什麼” s(即 Qt"s)線程優於原生 Python 線程(來自 threading 模塊)?


編輯 2: 謝謝大家答案。雖然沒有 100% 的一致意見,但似乎普遍認為答案是“使用 Qt”,因為這樣做的好處是與庫的其餘部分集成,同時不會造成真正的缺點。

對於希望在兩種線程實現之間進行選擇的任何人,我強烈建議他們閱讀此處提供的所有答案,包括 PyQt 郵件列表線程那 方丈鏈接到。

我為賞金考慮了幾個答案;最後我選擇了方丈作為非常相關的外部參考;然而,這是一個接近的電話。

再次感謝。