function
<thread>

std::this_thread::get_id

thread::id get_id() noexcept;
Get thread id
Returns the thread id of the calling thread.

This value uniquely identifies the thread.

Parameters

none

Return value

An object of member type thread::id that uniquely identifies the thread.

Example

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();
}


Output:
This is the main thread.
This is not the main thread.

Exception safety

No-throw guarantee: never throws exceptions.

See also