C ++ 11 <thread> get_id()和native_handle()</thread>之间的区别

时间:2014-05-15 12:44:06

标签: multithreading c++11

C ++ 11函数get_id()native_handle()之间有什么区别?

在我创建的测试程序中,它们为线程返回相同的int值,所以我不知道它们之间有什么区别。

我在Windows上使用GCC 4.8.1。

1 个答案:

答案 0 :(得分:5)

来自this reference

  

get_id返回线程的id

  

native_handle返回底层实现定义的线程句柄

get_id返回的线程标识符实际上应该是一个类(std::thread::id),而不是数字或其他特定于平台的句柄。

native_handle函数返回其名称所暗示的内容,可由底层操作系统线程函数使用的本机句柄。在Windows上,这通常是CreateThread返回的HANDLE,在POSIX平台上,pthread_create初始化为pthread_t