Потоки не связываются друг с другом в режиме выпуска, но они общаются в режиме отладки. Также потоки общаются, если я отключаю поток в течение 0,1 секунды в режиме выпуска. Почему это происходит? Есть пример для вас.
main. cpp
int main(){
bool foo=false;
thread tk(control,ref(foo));
tk.detach();
this_thread::sleep_for(1s);
foo=true;
while(true){
//it is for program is not finished
}
}
foo. cpp
void control(bool &x){
while(x==false){
//When release mode, program cannot go out from this.
}
}
И есть рабочий пример для вас
main. cpp
int main(){
bool foo=false;
thread tk(control,ref(foo));
tk.detach();
this_thread::sleep_for(1s);
foo=true;
while(true){
//it is for program is not finished
}
}
foo. cpp
void control(bool &x){
while(x==false){
this_thread::sleep_for(1s);
//it can go out.
}
}