Thread::get_id()是C++ std::thread中的內置函數。這是一個觀察者函數,表示它觀察一個狀態,然後返回相應的輸出。該函數返回std::thread::id的值,從而標識與* this關聯的線程。
用法:
thread_name.get_id();
參數:該函數不接受任何參數。
返回值:此方法返回std::thread::id類型的值,該值標識與* this關聯的線程,即,返回用於調用get_id函數的線程。如果未標識此類線程,則返回默認構造的std::thread::id。
以下示例演示了std::thread::get_id()方法的使用:
注意:在在線IDE上,此程序將顯示錯誤。要對此進行編譯,請借助命令“ g ++ -std = c ++ 14 -pthread file.cpp”在g ++編譯器編譯中使用標誌“-pthread”。
// C++ program to demonstrate the use of
// std::thread::get_id
#include <chrono>
#include <iostream>
#include <thread>
using namespace std;
// util function for thread creation
void sleepThread()
{
this_thread::sleep_for(chrono::seconds(1));
}
int main()
{
// creating thread1 and thread2
thread thread1(sleepThread);
thread thread2(sleepThread);
thread::id t1_id = thread1.get_id();
thread::id t2_id = thread2.get_id();
cout << "ID associted with thread1= "
<< t1_id << endl;
cout << "ID associted with thread2= "
<< t2_id << endl;
thread1.join();
thread2.join();
return 0;
}
可能的輸出:
ID associted with thread1= 139858743162624 ID associted with thread2= 139858734769920
相關用法
- C++ Thread joinable()用法及代碼示例
- C++ Thread hardware_concurrency()用法及代碼示例
- C++ fma()用法及代碼示例
- C++ log()用法及代碼示例
- C++ div()用法及代碼示例
- C++ iswalpha()用法及代碼示例
注:本文由純淨天空篩選整理自Kushagra7744大神的英文原創作品 Thread get_id() function in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。