2016-04-24 30 views
-2

Qt C++を使用して基本チャットアプリケーションを作成しています。これは、サーバーがスレッドを使用して複数のクライアントにサービスを提供する必要があるためです。 私は本当に各スレッドがその変数に値を更新できるようにグローバルQHash変数を宣言する方法を理解していません。 sqliteデータベースにソケット記述子を格納しようとしましたが、うまくいきませんでした。さらに進めるには?Qt C++を使用してグローバルQHash変数を作成

+0

アクセスを同期させるクラスにハッシュをラップします。 –

答えて

0

ハッシュをクラスに入れます。スレッドの安全性とQMutexについて読む。

1

スレッドによって直接アクセスされるグローバルストレージで作業することは悪い習慣ですが、常に必要な可視性でそれを宣言したり、静的にすることができます。ソケットの追跡を本当にしたいのであれば、スレッドが新しい/完全なチャットセッションを登録して登録を解除できるような種類のキャッシュを作成することができます。また、複数のスレッドが同時に登録でき、現時点ではコードが破損するため、concurecnyについて少し考える必要があります。

関連する問題