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