<thread>

公共成员函数
<thread>

std::thread::get_id

id get_id() const noexcept;
获取线程 ID
返回线程 ID

如果 thread 对象是可连接的,则函数返回一个唯一标识该线程的值。

如果 thread 对象不可连接,则函数返回成员类型 thread::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.


数据竞争

该对象被访问。

异常安全

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

另见