C++ std::thread::id实例:如何获得线程id
在C++的多线程编程中,有时需要获取当前线程的唯一标识符。std::thread::id类提供了一种简单的、可移植的方式,可以在程序运行时检查一个线程是否等于另一个线程。
下面是一个std::thread::id的简单实例:
#include
#include
void foo()
{
std::cout << "Thread id: " << std::this_thread::get_id() << std::endl;
}
int main()
{
std::thread t(foo);
std::cout << "Main thread id: " << std::this_thread::get_id() << std::endl;
t.join();
return 0;
}
在这个示例中,我们创建一个名为“foo”的函数,并使用std::thread t(foo)来创建一个新的线程。我们然后使用std::this_thread::get_id()方法来获取当前线程的ID,并将其打印到控制台上。
在主线程中,我们也打印了该线程的ID。当我们运行程序时,它应该输出以下内容:
Main thread id: 140028739659072
Thread id: 140028707614784
可以看到,每个线程都有不同的ID。这使我们可以在运行时知道哪个线程正在执行代码。这对于调试和跟踪线程非常有用。
总结一下,std::thread::id为我们提供了一种简单的方式来获取线程的唯一标识符。在多线程编程中,它是一个非常有用的工具,可以帮助我们跟踪和调试线程的代码。
精彩内容
发表评论