C ++ 11函数get_id()
和native_handle()
之间有什么区别?
在我创建的测试程序中,它们为线程返回相同的int
值,所以我不知道它们之间有什么区别。
我在Windows上使用GCC 4.8.1。
答案 0 :(得分:5)
get_id
返回线程的id
和
native_handle
返回底层实现定义的线程句柄
get_id
返回的线程标识符实际上应该是一个类(std::thread::id
),而不是数字或其他特定于平台的句柄。
native_handle
函数返回其名称所暗示的内容,可由底层操作系统线程函数使用的本机句柄。在Windows上,这通常是CreateThread
返回的HANDLE
,在POSIX平台上,pthread_create
初始化为pthread_t
。