Files
XCEngine/docs/api/XCEngine/Threading/TaskSystem/Initialize.md

1.2 KiB

TaskSystem::Initialize

初始化任务系统并创建工作线程。

void Initialize(const TaskSystemConfig& config);

行为说明

当前实现会:

  1. config.workerThreadCount 读取目标线程数。
  2. 当该值为 0 时,退回到 std::thread::hardware_concurrency()
  3. 若仍为 0,最终使用 2
  4. m_running 设为 true
  5. 启动对应数量的 std::thread,每个线程执行内部 WorkerThread() 循环。

参数

  • config - 任务系统初始化配置。

返回值

  • 无。

当前实现限制

  • 当前只真正使用 workerThreadCount,其余配置字段都会被忽略。
  • 当前没有防止重复初始化的保护;多次调用会继续往 m_workerThreads 里追加线程。
  • 当前不会把 m_shutdown 重置回 false,因此一旦执行过 Shutdown,再次 Initialize() 的行为是不完整的。
  • 当前不会清空历史队列或主线程回调队列。
  • 当前不会给工作线程命名,也没有线程绑定、栈大小或亲和性设置。

相关文档