Функция this_thread::get_id
Функция this_thread::get_id возвращает объект типа std::thread::id, который является уникальным идентификатором текущего потока. Этот идентификатор можно использовать для сравнения потоков, сохранения в контейнерах или вывода в консоль. Функция не принимает параметров и доступна через пространство имен std::this_thread.
Синтаксис
std::this_thread::get_id()
Пример
Давайте получим идентификатор главного потока и выведем его на экран:
#include <iostream>
#include <thread>
using namespace std;
int main()
{
thread::id main_id = this_thread::get_id();
cout << "Main thread id: " << main_id << endl;
return 0;
}
Результат выполнения кода:
"Main thread id: 140234567890176"
Пример
Давайте создадим новый поток и сравним его идентификатор с идентификатором главного потока:
#include <iostream>
#include <thread>
using namespace std;
void worker()
{
thread::id worker_id = this_thread::get_id();
cout << "Worker thread id: " << worker_id << endl;
}
int main()
{
thread::id main_id = this_thread::get_id();
thread t(worker);
t.join();
cout << "Main thread id: " << main_id << endl;
return 0;
}
Результат выполнения кода:
"Worker thread id: 140234567890176"
"Main thread id: 140234567890176"