Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
内部にGUIプログラムがあり、QLocalServerクライアントから接続を取得するたびに、ユーザーに何をすべきかを尋ねるダイアログがポップアップ表示されます。
QLocalServer
しかし、複数の接続が同時に受信された場合、多数のダイアログが一緒に表示されます..それらをキューに入れる方法はありますか?
を使おうとしましQMutexたが、GUIスレッド全体が動かなくなりました。
QMutex
これに対する一般的/正しい解決策は何ですか?
キューデータ構造を使用するだけです。つまり、着信接続をキューデータ構造に入れ、ダイアログが閉じられるたびに (たとえば)、キューにさらに接続があるかどうかを確認します。はいの場合、次のものを処理します。接続を取得し、キューが空の場合は、すぐに処理します。ほとんどの場合、追加のスレッドを生成していないため、QMutex は GUI スレッドをブロックします。これは実際には QLocalServer からのコールバックであり、インバウンド接続を通知する新しいスレッドではありません。