当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。