変数値を変更する関数を呼び出すスレッドを作成しましたが、終了すると値はそれ以上変更されません。スレッド変数値を変更し、それ以外の変更を参照してください
実際のコードではなく、その単なる例です。
THREAD1:
if(size = socket.recv(data))deserializeData(data)
deserializeData(){
//Deserialize the data (csv format) and then copy to command
command = tmp;
}
Outside the thread
cout << command
スレッド内
とdeserializeData私はそれを正しく表示するコマンドを呼び出す場合、私はCOUTを行う際に外には何も表示されません。
私は揮発性について見ましたが、私は文字列変数で試しましたが、それは動作しません。
おかげ
変数にアクセスできるスレッドが複数ありますか? – Erwald
'実際のコードではない'ということは、あなたが多くの '本当の助け'を得ることができないことを意味します。 –
'コマンド'はどのように定義されていますか?代入後に 'cout'が実行されるのは確実ですか? – smocking