docs: rebuild Threading API content
This commit is contained in:
@@ -1,31 +1,39 @@
|
||||
# TaskSystem::Initialize
|
||||
|
||||
初始化内部状态。
|
||||
初始化任务系统并创建工作线程。
|
||||
|
||||
```cpp
|
||||
void Initialize(const TaskSystemConfig& config);
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Threading/TaskSystem.h`,当前页面用于固定 `TaskSystem` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:**
|
||||
- `config` - 参数语义详见头文件声明。
|
||||
当前实现会:
|
||||
|
||||
**返回:** `void` - 无返回值。
|
||||
1. 从 `config.workerThreadCount` 读取目标线程数。
|
||||
2. 当该值为 `0` 时,退回到 `std::thread::hardware_concurrency()`。
|
||||
3. 若仍为 `0`,最终使用 `2`。
|
||||
4. 把 `m_running` 设为 `true`。
|
||||
5. 启动对应数量的 `std::thread`,每个线程执行内部 `WorkerThread()` 循环。
|
||||
|
||||
**示例:**
|
||||
## 参数
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Threading/TaskSystem.h>
|
||||
- `config` - 任务系统初始化配置。
|
||||
|
||||
void Example() {
|
||||
XCEngine::Threading::TaskSystem object;
|
||||
// 根据上下文补齐参数后调用 TaskSystem::Initialize(...)。
|
||||
(void)object;
|
||||
}
|
||||
```
|
||||
## 返回值
|
||||
|
||||
- 无。
|
||||
|
||||
## 当前实现限制
|
||||
|
||||
- 当前只真正使用 `workerThreadCount`,其余配置字段都会被忽略。
|
||||
- 当前没有防止重复初始化的保护;多次调用会继续往 `m_workerThreads` 里追加线程。
|
||||
- 当前不会把 `m_shutdown` 重置回 `false`,因此一旦执行过 [Shutdown](Shutdown.md),再次 `Initialize()` 的行为是不完整的。
|
||||
- 当前不会清空历史队列或主线程回调队列。
|
||||
- 当前不会给工作线程命名,也没有线程绑定、栈大小或亲和性设置。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](TaskSystem.md)
|
||||
- [返回模块目录](../Threading.md)
|
||||
- [返回类型总览](TaskSystem.md)
|
||||
- [TaskSystemConfig](../TaskSystemConfig/TaskSystemConfig.md)
|
||||
- [Shutdown](Shutdown.md)
|
||||
|
||||
Reference in New Issue
Block a user