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为我们提供了一种简单的方式来获取线程的唯一标识符。在多线程编程中,它是一个非常有用的工具,可以帮助我们跟踪和调试线程的代码。

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: