1.3 KiB
1.3 KiB
TaskGroup::AddTask (Callback)
uint64_t AddTask(Callback&& func, TaskPriority priority = TaskPriority::Normal);
将函数回调添加为任务。该方法接受一个可调用对象(lambda、函数指针、std::function 等)作为任务执行体。
参数:
func- 可调用对象,执行任务逻辑priority- 任务优先级,默认为 Normal
返回: 返回分配给任务的唯一 ID,可用于后续添加依赖关系
线程安全: ✅ 线程安全
示例:
#include "XCEngine/Threading/TaskGroup.h"
#include "XCEngine/Threading/Task.h"
#include <iostream>
using namespace XCEngine::Threading;
int main() {
TaskGroup group;
uint64_t task1 = group.AddTask(
[]() { std::cout << "Task 1 executing\n"; },
TaskPriority::Normal
);
uint64_t task2 = group.AddTask(
[]() { std::cout << "Task 2 executing (High priority)\n"; },
TaskPriority::High
);
uint64_t task3 = group.AddTask(
[]() { std::cout << "Task 3 executing (Low priority)\n"; },
TaskPriority::Low
);
group.AddDependency(task2, task1);
group.Wait();
return 0;
}
相关文档
- TaskGroup 总览 - 返回类总览
- AddTask(ITask) - 添加 ITask 对象形式的任务
- TaskPriority - 任务优先级说明