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

66 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`](getid.md) | 获取线程 ID |
| [`GetName`](getname.md) | 获取线程名称 |
| [`GetCurrentId`](getcurrentid.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) - 模块总览