docs: update memory and threading API docs

This commit is contained in:
2026-03-20 02:35:24 +08:00
parent c5b17239ca
commit fd792b7df1
103 changed files with 2485 additions and 673 deletions

View File

@@ -10,6 +10,8 @@ TaskGroup* CreateTaskGroup()
**返回:** `TaskGroup*` - 新创建的任务组指针
**线程安全:** ✅ (内部使用 SpinLock 保护)
**复杂度:** O(1)
**注意:**

View File

@@ -11,6 +11,8 @@ void DestroyTaskGroup(TaskGroup* group)
**返回:**
**线程安全:** ✅ (内部使用 SpinLock 保护)
**复杂度:** O(1)
**注意:**

View File

@@ -10,6 +10,8 @@ uint32_t GetWorkerThreadCount() const
**返回:** `uint32_t` - 工作线程数量
**线程安全:** ✅ (只读操作)
**复杂度:** O(1)
**示例:**

View File

@@ -11,6 +11,8 @@ void Initialize(const TaskSystemConfig& config)
**返回:**
**线程安全:** ❌ (应在主线程初始化)
**复杂度:** O(n)n 为 workerThreadCount
**注意:**

View File

@@ -17,6 +17,8 @@ void ParallelFor(int32_t start, int32_t end, Func&& func)
**返回:**
**线程安全:** ✅ (内部通过 Submit 实现线程安全)
**复杂度:** O(n)
**分区策略:**

View File

@@ -11,6 +11,8 @@ void RunOnMainThread(std::function<void()>&& func)
**返回:**
**线程安全:** ✅ (内部使用 mutex 保护主线程队列)
**复杂度:** O(1)
**使用场景:**

View File

@@ -10,6 +10,8 @@ void Shutdown()
**返回:**
**线程安全:** ❌ (非线程安全,调用后应等待所有任务完成)
**复杂度:** O(n)
**注意:**

View File

@@ -33,6 +33,8 @@ uint64_t Submit(std::function<void()>&& func, TaskPriority priority = TaskPriori
**复杂度:** O(log n)
**线程安全:** ✅ (内部使用 mutex 保护任务队列)
**示例:**
```cpp
@@ -52,10 +54,12 @@ uint64_t id3 = TaskSystem::Get().Submit([]() {
HeavyCompute();
}, TaskPriority::High);
// 等待任务完成
TaskSystem::Get().Wait(id1);
TaskSystem::Get().Wait(id2);
TaskSystem::Get().Wait(id3);
// 使用 TaskGroup 等待任务完成
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
group->AddTask([]() { /* task 1 */ });
group->AddTask([]() { /* task 2 */ });
group->Wait();
TaskSystem::Get().DestroyTaskGroup(group);
```
## 相关文档

View File

@@ -12,7 +12,7 @@
`TaskSystem` 是 XCEngine 的核心并行任务调度系统。它创建多个工作线程,使用优先级队列调度任务。它还提供 `ParallelFor` 方法用于数据级并行,以及主线程任务队列。
**注意:** 当前实现的 `stealTasks` 配置项未生效,任务系统使用单一全局任务队列而非工作窃取模式
**注意:** 当前实现的 `stealTasks` 配置项未生效,任务系统使用单一全局优先级任务队列。
## 单例访问
@@ -24,7 +24,8 @@
| 方法 | 描述 |
|------|------|
| [`Get`](get.md) | 获取单例实例 |
| [`TaskSystem()`](task-system.md) | 私有构造函数(单例) |
| [`~TaskSystem()`](task-system.md) | 析构函数 |
| [`Initialize`](initialize.md) | 初始化任务系统 |
| [`Shutdown`](shutdown.md) | 关闭任务系统 |
| [`Submit(unique_ptr)`](submit.md) | 提交任务对象 |

View File

@@ -10,6 +10,8 @@ void Update()
**返回:**
**线程安全:** ❌ (应在主线程调用)
**复杂度:** O(n)n 为队列中待执行任务数
**使用场景:**

View File

@@ -6,17 +6,10 @@ void Wait(uint64_t taskId)
**注意:** 此方法当前为空实现,不执行任何操作。
**参数:**
- `taskId` - 要等待的任务 ID
**返回:**
**复杂度:** N/A空实现
**当前状态:** 此方法为空实现,不执行任何操作。任务系统目前不支持按任务 ID 等待。
**建议:** 使用 `TaskGroup::Wait` 代替此方法。
**线程安全:** N/A (空实现)
**示例:**
```cpp