當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ Thread get_id()用法及代碼示例


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


相關用法


注:本文由純淨天空篩選整理自Kushagra7744大神的英文原創作品 Thread get_id() function in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。