1.1 KiB
1.1 KiB
Thread::Detach
void Detach();
分离线程,使其在后台独立运行。调用 Detach() 后,线程不再受 Thread 对象管理,其生命周期由 C++ 运行时库自行管理,直到线程函数执行完毕。
分离后的线程成为"守护线程",其资源在线程结束时自动由运行时回收。与 Join() 不同,Detach() 只能调用一次。
警告: 分离线程时必须确保其访问的所有数据在线程运行期间保持有效。分离后无法通过 Thread 对象同步或等待线程。
参数: 无
返回: 无
线程安全: ❌
示例:
#include "XCEngine/Threading/Thread.h"
#include <iostream>
using namespace XCEngine::Threading;
int main() {
Thread t;
t.Start([]() {
for (int i = 0; i < 3; ++i) {
std::cout << "Detached thread running: " << i << std::endl;
Thread::Sleep(50);
}
}, "DetachedThread");
std::cout << "Thread detached, main continues..." << std::endl;
t.Detach();
Thread::Sleep(200);
return 0;
}
相关文档
- Thread 总览 - 返回类总览