2026-03-26 16:45:24 +08:00
|
|
|
# TaskSystem::Initialize
|
|
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
初始化任务系统并创建工作线程。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void Initialize(const TaskSystemConfig& config);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
当前实现会:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
1. 从 `config.workerThreadCount` 读取目标线程数。
|
|
|
|
|
2. 当该值为 `0` 时,退回到 `std::thread::hardware_concurrency()`。
|
|
|
|
|
3. 若仍为 `0`,最终使用 `2`。
|
|
|
|
|
4. 把 `m_running` 设为 `true`。
|
|
|
|
|
5. 启动对应数量的 `std::thread`,每个线程执行内部 `WorkerThread()` 循环。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
## 参数
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
- `config` - 任务系统初始化配置。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 当前实现限制
|
|
|
|
|
|
|
|
|
|
- 当前只真正使用 `workerThreadCount`,其余配置字段都会被忽略。
|
|
|
|
|
- 当前没有防止重复初始化的保护;多次调用会继续往 `m_workerThreads` 里追加线程。
|
|
|
|
|
- 当前不会把 `m_shutdown` 重置回 `false`,因此一旦执行过 [Shutdown](Shutdown.md),再次 `Initialize()` 的行为是不完整的。
|
|
|
|
|
- 当前不会清空历史队列或主线程回调队列。
|
|
|
|
|
- 当前不会给工作线程命名,也没有线程绑定、栈大小或亲和性设置。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 20:59:59 +08:00
|
|
|
- [返回类型总览](TaskSystem.md)
|
|
|
|
|
- [TaskSystemConfig](../TaskSystemConfig/TaskSystemConfig.md)
|
|
|
|
|
- [Shutdown](Shutdown.md)
|