函数
<thread>

std::this_thread::get_id

thread::id get_id() noexcept;
获取线程 ID
返回调用线程的线程 ID

此值唯一标识该线程。

参数



返回值

一个类型为 thread::id 的成员对象,用于唯一标识该线程。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// thread::get_id / this_thread::get_id
#include <iostream>       // std::cout
#include <thread>         // std::thread, std::thread::id, std::this_thread::get_id
#include <chrono>         // std::chrono::seconds
 
std::thread::id main_thread_id = std::this_thread::get_id();

void is_main_thread() {
  if ( main_thread_id == std::this_thread::get_id() )
    std::cout << "This is the main thread.\n";
  else
    std::cout << "This is not the main thread.\n";
}

int main() 
{
  is_main_thread();
  std::thread th (is_main_thread);
  th.join();
}

输出
This is the main thread.
This is not the main thread.


异常安全

无异常保证: 绝不抛出异常。

另见