# Thread::Start 启动一个新线程。 ```cpp template void Start(Func&& func, const Containers::String& name = "Thread"); ``` ## 行为说明 当前模板实现会: 1. 把 `m_name = name` 2. 执行 `m_thread = std::thread(std::forward(func))` 3. 把 `m_thread.native_handle()` 转成整数,写入 `m_id` ## 参数 - `func` - 线程入口函数或可调用对象。 - `name` - 保存在线程包装对象中的名称;默认值为 `"Thread"`。 ## 返回值 - 无。 ## 当前实现限制 - 名称只保存在 `m_name`,不会设置到操作系统线程名。 - `m_id` 是从 `native_handle()` 转换而来的缓存值,不保证跨平台可移植,也不保证与 [GetCurrentId](GetCurrentId.md) 一致。 - 如果对一个仍然 `joinable` 的线程对象再次调用 `Start()`,会触发 `std::thread` 的终止语义。 ## 相关文档 - [返回类型总览](Thread.md) - [GetId](GetId.md)