C++线程错误

C++ Thread error?

本文关键字:错误 线程 C++      更新时间:2023-10-16

所以我对这个程序有一个问题,我试图把它弄乱。我以前从未遇到过这个问题。代码为:

#include <iostream>
#include <windows.h>
#include <thread>
void update(){
system("cls");
std::cout << "Wow dud";
system("pause >nul");
}
int main(){
std::thread wow(update);
while(true){
wow.join();
wow.detach();
    }
}
错误

是:好吧,这里的错误

不清楚错误是什么,但生命周期显然是错误的。线程在循环之前创建一次,但在循环中反复连接和分离。因此,循环的任何后续迭代都会在已经死的线程上执行无效操作。也许你的意思是:

  while(true){
      std::thread wow(update);
      wow.join();
      wow.detach();
  }