c++ - 如何打印 C++ 应用程序中所有线程的列表?

标签 c++ linux multithreading logging

如何打印 POSIX 操作系统(例如 Linux)中 C++ 应用程序中运行的线程列表(最好是名称)?

最佳答案

您可以使用 /proc/self/task 的目录列表来获取线程 ID 列表。请注意,这是 Linux 特定的;无法移植到所有 POSIX。

您可以使用pthread_getname_np获取每个线程的名称。线程的名称默认为程序的名称。这是glibc特有的函数;无法移植到所有 POSIX 甚至所有 Linux。

关于c++ - 如何打印 C++ 应用程序中所有线程的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54756697/

相关文章:

Javascript读取本地文件适用于Windows但不适用于Linux

java - 为什么我的代码创建了很多线程(java.lang.OutOfMemoryError : unable to create new native thread)

java - 您可以在您执行 acquire() 的不同线程上调用 java.util.concurrent.Semaphore.release() 吗?

c++ - 派生类( vector ): is this a bad idea?

c++ - 程序为 double 返回单个值 (C++)

c++ - 编码和读取 ID3 标签

c++ - if(!pointer) 和 if(!*pointer) 有什么区别?

linux - 如何在控制台中获取 Google-glog 输出?

linux - STAG 和命令行有什么区别?

ios - GCD : What happens when two threads want to execute blocks on the main thread at the same time