私のC++プログラマーに助けが必要です。 私は、main関数の横にスレッドを起動します。スレッドからオブジェクトの変数にアクセス
thread Thread1(&Foo::Loop1, info,std::ref(info));
thread Thread2(&Foo::Loop2, info,std::ref(info));
info
はbool active
を含むクラスFoo
からオブジェクト後、私はtrue
にactive
に変更されているが、Loop1
またはLoop2
の値は変化がいけません。彼らは毎回同じです。
私のプロトタイプの機能は次のようになります。だから私はそうmain
機能で変更対象Foo
から値を渡すために何をすべき
void Foo::Loop1(Foo info){
while (true){
if (info.active){
//Stuff
}
}
}
:
void Loop1(Foo info);
void Loop2(Foo info);
呼ばれる関数Loop
関数内の値active
は等しいです。
は:)
SRYが、両方のdidntは働いた:スレッド/のみ値ではなく参照を渡します。私は複数のものを試しました:/ – NicMaxFen
okを得ました:)スレッドを作成したときにstd :: refを使用しました。私はFoo&あなたの例のような情報を使用した – NicMaxFen