为什么我不能在 while 循环中创建线程?

Why can't i create a thread in while loop?

本文关键字:创建 线程 循环 while 不能 为什么      更新时间:2023-10-16

我想在while循环中创建一个新线程,但它会使程序在启动时立即崩溃。关于如何解决这个问题有什么想法吗?

#include <thread>
using namespace std;
void function1()
{
}
int main()
{
while(true)
{
thread thread(function1);
}
return 0;
}

std::thread超出作用域时,会调用其析构函数。如果线程仍然处于活动状态,则std::thread析构函数调用std::terminate()。在销毁std::thread对象之前,必须先将其join()detach()