# Thread **命名空间**: `XCEngine::Threading` **类型**: `class` **头文件**: `XCEngine/Threading/Thread.h` **描述**: 线程封装类,提供跨平台线程创建和管理功能。 ## 概述 `Thread` 类封装了 `std::thread`,提供统一的线程管理接口,包括启动、加入、分离等操作。 ## 公共类型 | 类型 | 描述 | |------|------| | `using Id = uint64_t` | 线程唯一标识符类型 | ## 公共方法 ### 生命周期 | 方法 | 描述 | |------|------| | `Thread()` | 默认构造函数 | | `~Thread()` | 析构函数 | ### 线程控制 | 方法 | 描述 | |------|------| | `template void Start(Func&& func, const Containers::String& name = "Thread")` | 启动线程,执行传入的函数 | | `void Join()` | 等待线程结束 | | `void Detach()` | 分离线程,使其独立运行 | ### 属性访问 | 方法 | 描述 | |------|------| | `Id GetId() const` | 获取线程 ID | | `const Containers::String& GetName() const` | 获取线程名称 | ### 静态方法 | 方法 | 描述 | |------|------| | `static Id GetCurrentId()` | 获取当前线程 ID | | `static void Sleep(uint32_t milliseconds)` | 线程休眠指定毫秒数 | | `static void Yield()` | 让出当前线程的时间片 | ## 使用示例 ```cpp #include // 创建并启动线程 Thread thread; thread.Start([]() { // 线程工作 printf("Worker thread running\n"); }, "WorkerThread"); // 等待线程结束 thread.Join(); // 使用静态方法 Thread::Sleep(1000); // 休眠1秒 Thread::Yield(); // 让出时间片 auto currentId = Thread::GetCurrentId(); ``` ## 相关文档 - [Mutex](./threading-mutex.md) - 互斥锁 - [TaskSystem](./threading-task-system.md) - 任务调度系统