前回 GUI クライアントを作成したとき、プロセスの生成時、シェル スクリプトの呼び出し時、および外部アプリケーションの呼び出し時にクライアントがハングアップしたように見えるため、Python は私にとって非常に不安定でした。
それ以来、これは Python に関する私の大きな問題でした。現在、私は新しいプロジェクトに参加しています。GUI Python アプリケーションが別のプロセスを生成するときに対話型であるために、誰かが私にポインタとアドバイスを与えることができますか?
前回 GUI クライアントを作成したとき、プロセスの生成時、シェル スクリプトの呼び出し時、および外部アプリケーションの呼び出し時にクライアントがハングアップしたように見えるため、Python は私にとって非常に不安定でした。
それ以来、これは Python に関する私の大きな問題でした。現在、私は新しいプロジェクトに参加しています。GUI Python アプリケーションが別のプロセスを生成するときに対話型であるために、誰かが私にポインタとアドバイスを与えることができますか?
最も単純(抽象的な意味で必ずしも「最良」ではない):サブプロセスを別のスレッドで生成し、Queue.Queueインスタンスを介して結果をメインスレッドに通信します-メインスレッドは定期的にそのキューをチェックして、結果がまだ到着しましたが、定期的なポーリングをイベントループに配置するのは難しくありません。
プロセスを生成して完全に待機すると、メインGUIスレッドがフリーズします。多くの場合、サブプロセスを使用して、終了するのではなく、時々ポーリングして完了wait
することができます。これにより、GUIがフリーズするのを防ぎます。