1.1 KiB
1.1 KiB
TaskSystem::Shutdown
关闭任务系统并回收工作线程。
void Shutdown();
行为说明
当前实现会:
- 把
m_running设为false。 - 把
m_shutdown设为true。 notify_all()唤醒等待任务的工作线程。- 逐个
join()仍然可连接的工作线程。 - 清空
m_workerThreads。
返回值
- 无。
当前实现限制
- 当前不会清空
m_taskQueue,未执行的任务会被直接遗留。 - 当前不会释放队列中残留任务对应的对象。
- 当前不会销毁已经通过 CreateTaskGroup 创建的任务组。
- 当前不会清空
m_mainThreadQueue。 m_shutdown会一直保持为true,这使得重新初始化路径当前不可用。
设计说明
商业级任务系统的关闭通常需要定义明确的 shutdown policy,例如:
- 等待现有任务自然跑完。
- 取消可取消任务并清理资源。
- 强制丢弃队列但保证对象生命周期可回收。
当前实现只覆盖了“停线程”这一步。