Web接続を介して定期的にデータを取得するGUIアプリケーションを作成しています。この取得にはしばらく時間がかかるため、取得プロセス中にUIが応答しなくなります(小さい部分に分割することはできません)。これが、別のワーカースレッドへのWeb接続を外部委託したい理由です。
[はい、わかりました。今、2つの問題があります。]
とにかく、アプリケーションはPyQt4を使用しているので、Qtのスレッドを使用するthreading
か、Python モジュールを使用するのがよいでしょうか。それぞれの長所/短所は何ですか?それともまったく違う提案がありますか?
編集(報奨金):私の特定のケースでの解決策はおそらく、Jeff OberやLukášLalinskýが提案するような非ブロッキングネットワークリクエストを使用することになるでしょう(したがって、基本的に同時実行性の問題はネットワークの実装に任せます)。一般的な質問に対する詳細な回答:
(threading
モジュールの)ネイティブPythonスレッドよりもPyQt4(つまりQt)のスレッドを使用する利点と欠点は何ですか?
編集2:回答ありがとうございます。100%の合意はありませんが、答えは「use Qt」であるという広範なコンセンサスがあるようです。その利点は、他のライブラリとの統合であり、実際の欠点はありません。
2つのスレッドの実装の間で選択するために探している人のために、私は非常に彼らはPyQtはメーリングリストのスレッドを含め、ここで提供されるすべての答え、読んでお勧めアボットのリンクにします。
私が賞金について検討したいくつかの回答がありました。結局、私は非常に関連性の高い外部参照のために修道院長を選びました。しかし、それは危機一髪でした。
再度、感謝します。