Files
XCEngine/docs/api/threading/threading.md
ssdfasd dc850d7739 docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
  - math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
  - containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
  - core: 修复 types 链接错误
  - debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
  - memory: 修复头文件路径, malloc vs operator new, 新增方法文档
  - resources: 修复 Shader/Texture 链接错误
  - threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +08:00

2.0 KiB

Threading 模块概览

命名空间: XCEngine::Threading

类型: module

描述: XCEngine 的线程和并发模块,提供多线程编程所需的同步原语和任务系统。

概述

Threading 模块提供了一套完整的多线程编程工具,包括线程封装、同步原语和并行任务系统。

模块内容

同步原语

组件 文件 描述
Mutex Mutex.h 互斥锁
SpinLock SpinLock.h 自旋锁
ReadWriteLock ReadWriteLock.h 读写锁

线程

组件 文件 描述
Thread Thread.h 线程封装类

任务系统

组件 文件 描述
ITask Task.h 任务基类
LambdaTask LambdaTask.h Lambda 任务封装模板
TaskGroup TaskGroup.h 任务组
TaskSystem TaskSystem.h 并行任务调度系统
TaskSystemConfig TaskSystemConfig.h 任务系统配置

同步原语对比

原语 适用场景 特点
Mutex 一般互斥 可重入性差,开销适中
SpinLock 短临界区 无系统调用,开销低
ReadWriteLock 读多写少 读写分离,提高并发

任务系统使用示例

#include <XCEngine/Threading/TaskSystem.h>

// 初始化任务系统
TaskSystemConfig config;
config.workerThreadCount = 4;
TaskSystem::Get().Initialize(config);

// 提交并行任务
TaskSystem::Get().Submit([]() {
    // 执行工作
});

// 使用任务组
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
group->AddTask([]() { /* 任务1 */ });
group->AddTask([]() { /* 任务2 */ });
group->Wait();

// 销毁任务组
TaskSystem::Get().DestroyTaskGroup(group);

相关文档