gpt4 book ai didi

multithreading - 如何根据特定条件创建新线程并在以后的C++ 11中加入它?

转载 作者:行者123 更新时间:2023-12-03 12:55:24 25 4
gpt4 key购买 nike

std::thread main;
if (/*check code here*/)
{
main = std::thread(thread_hunt);
}
main.join();

如果未在if语句中初始化主线程加入,则此代码将导致错误。
bool i=false;
std::thread main;
if (/*check code here*/)
{
main = std::thread(thread_hunt);
j=true;
}
if (j)
{
main.join();
}

该代码运行良好,但是有没有更简单的方法可以实现这一目标?

最佳答案

您可以在线程对象上使用joinable()方法。

在您的情况下:

std::thread main;
if (/*check code here*/)
{
main = std::thread(thread_hunt);
}

if (main.joinable())
{
main.join();
}

关于multithreading - 如何根据特定条件创建新线程并在以后的C++ 11中加入它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31535321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com