thread.detach
时间: 2023-08-16 22:06:38 浏览: 143
boost 库thread部分开发文档
在C++11中,`detach()`是`std::thread`类的一个成员函数,用于将线程和执行它的线程对象分离。调用`detach()`函数后,线程将在后台继续运行,而且不再与`std::thread`对象有关联,也就是说,它的资源会被释放,但线程仍在运行。
示例代码如下:
```
void foo() {
// do something
}
int main() {
std::thread t(foo);
t.detach(); // 分离线程
// do something else
return 0;
}
```
在上面的代码中,`t.detach()`将线程`t`与执行它的线程对象分离,然后`main`函数继续执行其他操作。需要注意的是,一旦线程被分离,就无法再通过`join()`函数将其加入到主线程中,也不能保证线程的资源被正确释放。因此,应该谨慎使用`detach()`函数。
阅读全文