Qt C++を使用して基本チャットアプリケーションを作成しています。これは、サーバーがスレッドを使用して複数のクライアントにサービスを提供する必要があるためです。 私は本当に各スレッドがその変数に値を更新できるようにグローバルQHash変数を宣言する方法を理解していません。 sqliteデータベースにソケット記述子を格納しようとしましたが、うまくいきませんでした。さらに進めるには?Qt C++を使用してグローバルQHash変数を作成
-2
A
答えて
0
ハッシュをクラスに入れます。スレッドの安全性とQMutexについて読む。
1
スレッドによって直接アクセスされるグローバルストレージで作業することは悪い習慣ですが、常に必要な可視性でそれを宣言したり、静的にすることができます。ソケットの追跡を本当にしたいのであれば、スレッドが新しい/完全なチャットセッションを登録して登録を解除できるような種類のキャッシュを作成することができます。また、複数のスレッドが同時に登録でき、現時点ではコードが破損するため、concurecnyについて少し考える必要があります。
関連する問題
- 1. グローバル辞書を使用して変数を作成する
- 2. QHashを介してQtループQHash <QString、QString>キーと値のペアを返す
- 3. Cで変数を使用してグローバルを初期化
- 4. MPLAB X IDEを使用してライブラリプロジェクトでグローバル変数を作成する方法
- 5. Qtのグローバル変数は?
- 6. C:関数の戻り値でグローバル変数を作成する
- 7. IErrorHandlerインプリメンテーションで使用するグローバル変数を作成
- 8. グローバル変数の作成?
- 9. ハッシュのjson配列をQtに変換Qhashのリスト
- 10. codeigniter、グローバル変数を使用
- 11. C++ソースファイルからグローバル変数のリストを作成
- 12. Codeigniterグローバル変数を作成してアクセスします
- 13. グローバル非キャッシュ変数を作成
- 14. グローバル変数を作成するiPhone/iPad
- 15. ローカル変数を使用してグローバル変数を作成するにはどうすればよいですか?
- 16. C#グローバル変数
- 17. グローバル変数をcで使用しない方法
- 18. スクリプトタスク:2つのクラスを作成してグローバル変数にアクセス
- 19. jQueryを使用したグローバル変数
- 20. OpenLayers3を使用したグローバルJavaScript変数
- 21. グローバル変数を使用したプログラムの作成はより安全ですか?
- 22. QTをC#で使用してGUIを作成できますか?
- 23. グローバル変数 'char ** environ'を使用してsetenv()とunsetenv()を実装する
- 24. グローバル変数を使用したMultiprocessing.Manager()の異常な動作
- 25. Qtを使用してHTMLを生成
- 26. グローバル変数やC#
- 27. グローバル変数エラーC++
- 28. objective-c - グローバル変数
- 29. Web APIストレージを使用して '真にグローバルな'整数変数を作成する
- 30. CとC++の静的グローバル変数とexternグローバル変数
アクセスを同期させるクラスにハッシュをラップします。 –