42 lines
899 B
Markdown
42 lines
899 B
Markdown
# TaskSystem::CreateTaskGroup
|
||
|
||
```cpp
|
||
TaskGroup* CreateTaskGroup()
|
||
```
|
||
|
||
创建一个任务组用于批量管理多个任务。
|
||
|
||
**参数:** 无
|
||
|
||
**返回:** `TaskGroup*` - 新创建的任务组指针
|
||
|
||
**线程安全:** ✅ (内部使用 SpinLock 保护)
|
||
|
||
**复杂度:** O(1)
|
||
|
||
**注意:**
|
||
- 任务组必须通过 DestroyTaskGroup 显式销毁。
|
||
- 任务组的所有权归调用者,TaskSystem 不负责销毁。
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
|
||
|
||
group->AddTask([]() { LoadTextures(); });
|
||
group->AddTask([]() { LoadModels(); });
|
||
group->AddTask([]() { LoadAudio(); });
|
||
|
||
group->SetCompleteCallback([]() {
|
||
printf("All resources loaded!\n");
|
||
});
|
||
|
||
group->Wait();
|
||
TaskSystem::Get().DestroyTaskGroup(group);
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [TaskSystem 总览](task-system.md) - 返回类总览
|
||
- [DestroyTaskGroup](destroytaskgroup.md) - 销毁任务组
|