Web からデータをQThreadフェッチする があります。ユーザーが何か他のことを要求する場合があり、データも変更をフェッチする必要があります。
現在の構成では、スレッドを呼び出しterminate()、入力データを変更しstart()て、スレッドを再度呼び出します。これで問題なく動作しますが、呼び出し時isRunning()またはisFinished()終了したスレッドでメインのイベントループが停止することがあります。永久に動かなくなり、プロセスを強制終了するまで回復しません。
- そもそもなぜぶら下がっ
isRunning()たりするのでしょうか?isFinished()彼らはブロックするつもりはありません。 - このワークフローは受け入れられますか? そうでない場合、スレッドのプロセスが不要になったときにスレッドのプロセスを停止するにはどうすればよいですか (または、どのように放棄できますか)?