【发布时间】:2016-04-22 15:14:52
【问题描述】:
我的 c++ 程序需要帮助。 我开始主函数旁边的线程:
thread Thread1(&Foo::Loop1, info,std::ref(info));
thread Thread2(&Foo::Loop2, info,std::ref(info));
info 是类 Foo 中的一个对象,其中包含 bool active
稍后我将active 更改为true,但Loop1 或Loop2 中的值不会改变。它们每次都一样。
我的原型函数如下所示:
void Loop1(Foo info);
void Loop2(Foo info);
被调用函数:
void Foo::Loop1(Foo info){
while (true){
if (info.active){
//Stuff
}
}
}
那么我应该怎么做才能传递对象Foo 中的值,该值在main 函数中发生了变化,所以Loop 函数中的值active 相等。
感谢您的帮助:)
【问题讨论】:
标签: c++ multithreading variables visual-studio-2013 pass-by-reference