docs: rebuild Threading API content

This commit is contained in:
2026-03-26 20:59:59 +08:00
parent 9a2d77b81d
commit 8f486611d5
78 changed files with 1648 additions and 1061 deletions

View File

@@ -1,32 +1,44 @@
# TaskGroup::AddDependency
添加元素或建立关联
记录一个任务对另一个任务的依赖关系
```cpp
void AddDependency(uint64_t taskId, uint64_t dependsOn);
```
该方法声明于 `XCEngine/Threading/TaskGroup.h`,当前页面用于固定 `TaskGroup` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
- `taskId` - 参数语义详见头文件声明。
- `dependsOn` - 参数语义详见头文件声明。
当前实现会在持锁状态下检查两个 ID 是否都位于 `m_tasks` 范围内;如果合法,就把 `dependsOn` 追加到 `m_tasks[taskId].dependencies`
**返回:** `void` - 无返回值
如果任一 ID 越界,函数会直接忽略这次调用
**示例:**
## 参数
```cpp
#include <XCEngine/Threading/TaskGroup.h>
- `taskId` - 依赖别人的任务。
- `dependsOn` - 被依赖的任务。
void Example() {
XCEngine::Threading::TaskGroup object;
// 根据上下文补齐参数后调用 TaskGroup::AddDependency(...)
(void)object;
}
```
## 返回值
-
## 当前实现限制
- 当前只保存依赖 ID不会递增 `pendingDepCount`
- 当前没有环检测。
- 当前没有“依赖完成后解锁任务”的运行时逻辑。
- 由于 [TaskGroup](TaskGroup.md) 本身没有接入真正调度,这些依赖关系目前只是被记录下来,不会改变任务执行顺序。
## 设计说明
商业级任务系统里的依赖通常会驱动两个行为:
- 决定任务什么时候从 waiting 变成 ready。
- 决定整组任务什么时候可以触发 completion fence。
当前 `AddDependency()` 只覆盖了“数据结构里留一份关系记录”这一步。
## 相关文档
- [返回类总览](TaskGroup.md)
- [返回模块目录](../Threading.md)
- [返回类总览](TaskGroup.md)
- [AddTask](AddTask.md)
- [Wait](Wait.md)