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

@@ -1,46 +1,47 @@
# TaskGroup::Wait
```cpp
void Wait()
void Wait();
```
**注意:** 此方法当前为**空实现/桩代码**,不执行任何操作
阻塞当前线程,等待任务组中所有任务完成。
阻塞当前线程,直到任务组中的所有任务完成执行
**参数:**
**返回:**
**复杂度** N/A空实现
**当前状态:** 此方法为空实现,不执行任何操作。由于 `m_pendingCount` 计数器未正确更新,此方法永远无法正常运作。
**建议:** 使用 `WaitFor()` 代替以避免永久阻塞。
**线程安全** ✅ 线程安全
**示例:**
```cpp
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
#include "XCEngine/Threading/TaskGroup.h"
#include "XCEngine/Threading/Task.h"
#include <iostream>
#include <chrono>
for (int i = 0; i < 10; ++i) {
group->AddTask([i]() {
printf("Task %d running\n", i);
});
using namespace XCEngine::Threading;
int main() {
TaskGroup group;
for (int i = 0; i < 5; ++i) {
group.AddTask([i]() {
std::cout << "Task " << i << " started\n";
std::this_thread::sleep_for(std::chrono::milliseconds(100));
std::cout << "Task " << i << " finished\n";
});
}
std::cout << "Waiting for all tasks...\n";
group.Wait();
std::cout << "All tasks completed!\n";
return 0;
}
printf("Waiting for all tasks...\n");
// 注意Wait() 为空实现,建议使用 WaitFor()
if (group->WaitFor(std::chrono::seconds(5))) {
printf("All tasks completed within 5 seconds\n");
} else {
printf("Timeout! Tasks may not have completed\n");
}
TaskSystem::Get().DestroyTaskGroup(group);
```
## 相关文档
- [TaskGroup 总览](task-group.md) - 返回类总览
- [WaitFor](waitfor.md) - 超时等待
- [WaitFor](wait-for.md) - 超时等待