我已经搜索过,但我无法找到这个问题的确切答案。 例如,如果我们有这样的代码块:
{
std::thread thread_1(.....);
thread_1.detach();
...
}
当thread_1仍然有效时,父线程离开此代码块后会发生什么。
答案 0 :(得分:0)
案例1:我在一个非常糟糕的操作系统上运行它,或者可能非常原始,然后你已经分离了 {来自main
主题的{1}},因此它适用于main
主题的独立。因此,即使主线程退出,只要它不依赖于全局范围内的任何变量,它将继续运行,它将是杂散线程。
案例2:这是在现代操作系统上运行的,我们可以说它的行为与案例1 中的行为相同,但现代操作系统看到丧偶线程将立即杀死 它并清理它,释放资源 抓住。
希望这有用,如果不正确请在下面的评论中提出更正...谢谢