Files
XCEngine/docs/api/XCEngine/Threading/LambdaTask/LambdaTask.md

34 lines
1.1 KiB
Markdown

# LambdaTask
**命名空间**: `XCEngine::Threading`
**类型**: `class template`
**头文件**: `XCEngine/Threading/LambdaTask.h`
**描述**: 把任意可调用对象包装成 `ITask` 的模板适配器。
## 概述
`LambdaTask<Func>` 是最轻量的任务实现之一:它不额外引入调度语义,只负责保存一个可调用对象,并在 [Execute](Execute.md) 中直接执行它。
这类模板任务在商业引擎里很常见,因为上层常常想直接把一段 lambda 提交给任务系统,而不是每次都手写一个派生类。
## 当前实现边界
- 可调用对象按值保存在 `m_func` 中。
- [Execute](Execute.md) 不做异常处理;异常会交给调用它的调度器决定怎么处理。
- 当前模板没有覆盖 `OnComplete()` / `OnCancel()`,因此沿用 `ITask` 基类默认空实现。
## 公开方法
| 方法 | 说明 |
|------|------|
| [Constructor](Constructor.md) | 构造 lambda 任务。 |
| [Execute](Execute.md) | 执行保存的可调用对象。 |
## 相关文档
- [当前模块](../Threading.md)
- [ITask](../Task/Task.md)