Files
XCSDD/docs/api/threading/lambdatask/lambdatask.md
ssdfasd 58a83f445a fix: improve doc link navigation and tree display
- Fix link resolution with proper relative/absolute path handling
- Improve link styling with underline decoration
- Hide leaf nodes from tree, only show directories
- Fix log file path for packaged app
2026-03-19 12:44:08 +08:00

58 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LambdaTask
**命名空间**: `XCEngine::Threading`
**类型**: `class` (template)
**头文件**: `XCEngine/Threading/LambdaTask.h`
**描述**: Lambda 任务封装模板类,允许使用 lambda 表达式创建任务,无需继承 ITask。
## 概述
`LambdaTask<Func>` 是一个模板封装类将任意可调用对象lambda、函数指针、std::function包装为 `ITask`。这大大简化了简短任务的创建。
## 模板参数
| 参数 | 描述 |
|------|------|
| `Func` | 可调用对象类型 |
## 构造方法
| 方法 | 描述 |
|------|------|
| [`LambdaTask`](constructor.md) | 构造 Lambda 任务 |
## 继承方法
| 方法 | 描述 |
|------|------|
| `Execute()` | 执行封装的可调用对象(继承自 ITask可重写 |
## 使用示例
```cpp
// 使用 lambda 创建任务
TaskSystem::Get().Submit(
std::make_unique<LambdaTask<std::function<void()>>>(
[]() {
printf("Hello from task!\n");
},
TaskPriority::Normal
)
);
// 或者直接使用 Submit 的便捷重载
TaskSystem::Get().Submit([]() {
printf("Direct lambda task!\n");
});
```
## 相关文档
- [ITask](../task/task.md) - 任务基类
- [TaskGroup](../task-group/task-group.md) - 任务组
- [TaskSystem](../task-system/task-system.md) - 任务系统
- [../threading/threading.md](../threading.md) - 模块总览