Files
XCEngine/docs/api/threading/thread/thread.md

66 lines
1.8 KiB
Markdown
Raw Normal View History

# Thread
**命名空间**: `XCEngine::Threading`
**类型**: `class`
**头文件**: `XCEngine/Threading/Thread.h`
**描述**: 线程类,封装 std::thread 提供命名的线程管理功能。
## 概述
`Thread` 类封装了 `std::thread`,提供统一的线程管理接口。设计用于跨平台线程创建和管理,支持为线程指定名称便于调试和日志记录。
类提供实例方法用于启动、等待Join和分离Detach线程以及静态工具方法用于获取当前线程 ID、线程睡眠和让出 CPU 时间片。
## 类型别名
| 类型 | 定义 | 描述 |
|------|------|------|
| `Id` | `uint64_t` | 线程唯一标识符类型 |
## 公共方法
| 方法 | 描述 |
|------|------|
| [`Thread()`](thread.md) | 默认构造函数 |
| [`~Thread()`](thread.md) | 析构函数 |
| [`Start`](start.md) | 启动线程,执行传入的函数 |
| [`Join`](join.md) | 等待线程结束 |
| [`Detach`](detach.md) | 分离线程,使其独立运行 |
| [`GetId`](get-id.md) | 获取线程 ID |
| [`GetName`](get-name.md) | 获取线程名称 |
| [`GetCurrentId`](get-current-id.md) | 获取当前线程 ID |
| [`Sleep`](sleep.md) | 线程休眠指定毫秒数 |
| [`Yield`](yield.md) | 让出当前线程的时间片 |
## 使用示例
```cpp
#include "XCEngine/Threading/Thread.h"
using namespace XCEngine::Threading;
void WorkerFunction() {
printf("Worker thread running\n");
}
int main() {
Thread thread;
thread.Start(WorkerFunction, "WorkerThread");
thread.Join();
Thread::Sleep(1000);
Thread::Yield();
auto currentId = Thread::GetCurrentId();
return 0;
}
```
## 相关文档
- [Mutex](../mutex/mutex.md) - 互斥锁
- [TaskSystem](../task-system/task-system.md) - 任务调度系统
- [../threading.md](../threading.md) - 模块总览