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

@@ -0,0 +1,90 @@
# TaskGroup::AddDependency
```cpp
void AddDependency(uint64_t taskId, uint64_t dependsOn);
```
为任务添加依赖关系。指定的任务 `taskId` 将在 `dependsOn` 任务完成后才会开始执行。
**参数:**
- `taskId` - 从属任务的 ID
- `dependsOn` - 被依赖任务的 IDtaskId 将在此任务完成后才执行
**返回:**
**线程安全:** ✅ 线程安全
**示例:**
```cpp
#include "XCEngine/Threading/TaskGroup.h"
#include "XCEngine/Threading/Task.h"
#include <iostream>
#include <memory>
using namespace XCEngine::Threading;
int main() {
TaskGroup group;
uint64_t loadData = group.AddTask(
[]() { std::cout << "Loading data...\n"; },
TaskPriority::High
);
uint64_t processData = group.AddTask(
[]() { std::cout << "Processing data...\n"; },
TaskPriority::Normal
);
uint64_t saveData = group.AddTask(
[]() { std::cout << "Saving data...\n"; },
TaskPriority::Low
);
group.AddDependency(processData, loadData);
group.AddDependency(saveData, processData);
std::cout << "Execution order: loadData -> processData -> saveData\n";
group.Wait();
return 0;
}
```
## 相关文档
- [TaskGroup 总览](task-group.md) - 返回类总览
## 详细描述
`AddDependency` 方法用于设置任务间的依赖关系。`taskId` 指定的任务将等待 `dependsOn` 指定的任务完成后才能开始执行。
依赖关系必须在任务执行前设置,建议在所有任务添加完成后统一设置依赖。
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `taskId` | `uint64_t` | 依赖其他任务的任务ID |
| `dependsOn` | `uint64_t` | 被依赖的任务ID |
## 返回值
## 示例
```cpp
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
uint64_t loadData = group->AddTask([]() { /* 加载数据 */ });
uint64_t processData = group->AddTask([]() { /* 处理数据 */ });
uint64_t saveData = group->AddTask([]() { /* 保存数据 */ });
// processData必须在loadData完成后才能执行
group->AddDependency(processData, loadData);
// saveData必须在processData完成后才能执行
group->AddDependency(saveData, processData);
```