38 lines
911 B
Markdown
38 lines
911 B
Markdown
|
|
# TaskSystem::Initialize
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
void Initialize(const TaskSystemConfig& config)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
初始化任务系统,创建工作线程并启动任务调度。
|
|||
|
|
|
|||
|
|
**参数:**
|
|||
|
|
- `config` - 任务系统配置(参见 TaskSystemConfig)
|
|||
|
|
|
|||
|
|
**返回:** 无
|
|||
|
|
|
|||
|
|
**复杂度:** O(n),n 为 workerThreadCount
|
|||
|
|
|
|||
|
|
**注意:**
|
|||
|
|
- 多次调用将先关闭已有系统再重新初始化。
|
|||
|
|
- 应在主线程中调用,在任何任务提交之前完成初始化。
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
TaskSystemConfig config;
|
|||
|
|
config.workerThreadCount = std::thread::hardware_concurrency();
|
|||
|
|
config.enableTaskProfiling = true;
|
|||
|
|
config.stealTasks = true;
|
|||
|
|
config.maxTaskQueueSize = 2048;
|
|||
|
|
|
|||
|
|
TaskSystem::Get().Initialize(config);
|
|||
|
|
printf("TaskSystem started with %u workers\n",
|
|||
|
|
TaskSystem::Get().GetWorkerThreadCount());
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [TaskSystem 总览](task-system.md) - 返回类总览
|
|||
|
|
- [Shutdown](shutdown.md) - 关闭任务系统
|