什么时候在std :: thread上调用native_handle()是安全的?

时间:2016-07-08 06:50:45

标签: linux c++11 pthreads

我正在创建一个std::thread,然后尝试获取本机句柄(将用于设置线程名称)。

auto mThread = std::thread(threadActionFcn);

#ifdef DEFINITELY_LINUX_PTHREADS
auto handle = mThread.native_handle();
pthread_setname_np(handle, name);
#endif

我可以保证在构造函数执行后初始化mThread或者这是竞争条件吗?

1 个答案:

答案 0 :(得分:0)

当然,你可以在std :: thread对象上创建你想要的任何调用。其他一切都将是一个巨大的陷阱。