所以我对这个程序有一个问题,我试图搞砸了。我之前从未遇到过这个问题。代码是:
#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();
}
}
,错误是:well, error here
答案 0 :(得分:-1)
不清楚错误是什么,但生命周期显然是错误的。线程在循环之前创建一次,但随后在循环中重复连接和分离。因此,循环的任何后续迭代都对已经死的线程执行无效操作。也许你的意思是:
while(true){
std::thread wow(update);
wow.join();
wow.detach();
}