docs: rebuild Threading API content
This commit is contained in:
@@ -1,30 +1,28 @@
|
||||
# LambdaTask::LambdaTask()
|
||||
# LambdaTask::Constructor
|
||||
|
||||
构造对象。
|
||||
构造一个 lambda 任务。
|
||||
|
||||
```cpp
|
||||
explicit LambdaTask(Func&& func, TaskPriority priority = TaskPriority::Normal) : ITask(priority), m_func(std::move(func));
|
||||
explicit LambdaTask(Func&& func, TaskPriority priority = TaskPriority::Normal);
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Threading/LambdaTask.h`,当前页面用于固定 `LambdaTask` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:**
|
||||
- `func` - 参数语义详见头文件声明。
|
||||
- `priority` - 参数语义详见头文件声明。
|
||||
当前构造函数会:
|
||||
|
||||
**返回:** `void` - 无返回值。
|
||||
- 通过 `ITask(priority)` 初始化基类优先级
|
||||
- 用 `std::move(func)` 初始化成员 `m_func`
|
||||
|
||||
**示例:**
|
||||
## 参数
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Threading/LambdaTask.h>
|
||||
- `func` - 要保存的可调用对象。
|
||||
- `priority` - 任务优先级;默认值为 `TaskPriority::Normal`。
|
||||
|
||||
void Example() {
|
||||
XCEngine::Threading::LambdaTask object;
|
||||
}
|
||||
```
|
||||
## 返回值
|
||||
|
||||
- 无。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](LambdaTask.md)
|
||||
- [返回模块目录](../Threading.md)
|
||||
- [返回类型总览](LambdaTask.md)
|
||||
- [Execute](Execute.md)
|
||||
|
||||
@@ -1,30 +1,24 @@
|
||||
# LambdaTask::Execute
|
||||
|
||||
公开方法,详见头文件声明。
|
||||
执行保存的可调用对象。
|
||||
|
||||
```cpp
|
||||
void Execute() override;
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Threading/LambdaTask.h`,当前页面用于固定 `LambdaTask` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:** 无。
|
||||
|
||||
**返回:** `void` - 无返回值。
|
||||
|
||||
**示例:**
|
||||
当前实现只有一行:
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Threading/LambdaTask.h>
|
||||
|
||||
void Example() {
|
||||
XCEngine::Threading::LambdaTask object;
|
||||
// 根据上下文补齐参数后调用 LambdaTask::Execute(...)。
|
||||
(void)object;
|
||||
}
|
||||
m_func();
|
||||
```
|
||||
|
||||
## 返回值
|
||||
|
||||
- 无。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](LambdaTask.md)
|
||||
- [返回模块目录](../Threading.md)
|
||||
- [返回类型总览](LambdaTask.md)
|
||||
- [ITask::Execute](../Task/Execute.md)
|
||||
|
||||
@@ -2,30 +2,32 @@
|
||||
|
||||
**命名空间**: `XCEngine::Threading`
|
||||
|
||||
**类型**: `class`
|
||||
**类型**: `class template`
|
||||
|
||||
**头文件**: `XCEngine/Threading/LambdaTask.h`
|
||||
|
||||
**描述**: 定义 `XCEngine/Threading` 子目录中的 `LambdaTask` public API。
|
||||
**描述**: 把任意可调用对象包装成 `ITask` 的模板适配器。
|
||||
|
||||
## 概述
|
||||
|
||||
`LambdaTask.h` 是 `XCEngine/Threading` 子目录 下的 public header,当前页面作为平行目录中的 canonical 总览,用于汇总该头文件暴露的主要声明。
|
||||
`LambdaTask<Func>` 是最轻量的任务实现之一:它不额外引入调度语义,只负责保存一个可调用对象,并在 [Execute](Execute.md) 中直接执行它。
|
||||
|
||||
## 声明概览
|
||||
这类模板任务在商业引擎里很常见,因为上层常常想直接把一段 lambda 提交给任务系统,而不是每次都手写一个派生类。
|
||||
|
||||
| 声明 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `LambdaTask` | `class` | 继承自 `ITask` 的公开声明。 |
|
||||
## 当前实现边界
|
||||
|
||||
## 公共方法
|
||||
- 可调用对象按值保存在 `m_func` 中。
|
||||
- [Execute](Execute.md) 不做异常处理;异常会交给调用它的调度器决定怎么处理。
|
||||
- 当前模板没有覆盖 `OnComplete()` / `OnCancel()`,因此沿用 `ITask` 基类默认空实现。
|
||||
|
||||
| 方法 | 描述 |
|
||||
## 公开方法
|
||||
|
||||
| 方法 | 说明 |
|
||||
|------|------|
|
||||
| [LambdaTask()](Constructor.md) | 构造对象。 |
|
||||
| [Execute](Execute.md) | 公开方法,详见头文件声明。 |
|
||||
| [Constructor](Constructor.md) | 构造 lambda 任务。 |
|
||||
| [Execute](Execute.md) | 执行保存的可调用对象。 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [当前目录](../Threading.md) - 返回 `Threading` 平行目录
|
||||
- [API 总索引](../../../main.md) - 返回顶层索引
|
||||
- [当前模块](../Threading.md)
|
||||
- [ITask](../Task/Task.md)
|
||||
|
||||
Reference in New Issue
Block a user