# TaskGroup::AddTask 添加任务到任务组。有两个重载版本。 ## 重载 1: 添加 ITask 对象 ```cpp uint64_t AddTask(std::unique_ptr task) ``` 将一个已有的 ITask 对象添加到任务组。 **参数:** - `task` - 要添加的 unique_ptr 任务对象 **返回:** `uint64_t` - 分配的任务 ID **复杂度:** O(1) ## 重载 2: 添加 lambda 任务 ```cpp uint64_t AddTask(Callback&& func, TaskPriority priority = TaskPriority::Normal) ``` 将一个 lambda 函数包装为任务添加到任务组。 **参数:** - `func` - 要执行的可调用对象 - `priority` - 任务优先级,默认 TaskPriority::Normal **返回:** `uint64_t` - 分配的任务 ID **复杂度:** O(1) **示例:** ```cpp TaskGroup* group = TaskSystem::Get().CreateTaskGroup(); // 添加 lambda 任务 uint64_t id1 = group->AddTask([]() { printf("Task A running\n"); }); uint64_t id2 = group->AddTask([]() { printf("Task B running\n"); }, TaskPriority::High); // 添加自定义 ITask class MyTask : public ITask { public: void Execute() override { printf("Custom task\n"); } }; uint64_t id3 = group->AddTask(std::make_unique()); ``` ## 相关文档 - [TaskGroup 总览](task-group.md) - 返回类总览