MIPS ベースのプラットフォームで Qt アプリケーションを作成する必要があります。
しかし、多くの制約があります。制約には、必要に応じていくつかのリソース (QGFX プラグイン、GPU メモリなど) を解放して再利用することが含まれていました。しかし、他の多くの要求を処理し、他のことを実行しているため、アプリケーションを強制終了することはできません。
基本的に、GUI を強制終了し、GUI に関連するすべてのリソースを解放する必要があります。必要に応じて後で再起動する
試みられた方法の1つは次のとおりです。
main() -> 新しいスレッドを作成する
新スレでは、
while(<Condition>)
{
sem_wait(..)
m_wnd = new myMainWindow();
...
..
app->exec();
}
kill コマンドがあるときはいつでも、イベント ループから抜け出し、他のスレッドからのシグナルを待ちます。他のスレッドが必要な変更を行うと、シグナルを受け取り、新しいウィンドウを作成してイベント ループに入ります。
main() では、他のデバイスなどを制御し、Qt-GUI の開始と停止を通知するスレッドもいくつか作成されます。
上記は機能しているようですが、これが正しい設計であるかどうかはわかりません。それは何か問題を引き起こしますか?
誰もがより良い方法を提案できますか?