我们在qnx环境中为我们的应用程序运行了不同的exes。 每个exe inturn都有几个线程。
现在我想从特定进程获取所有进程的所有线程的线程名称。 例如:我们有10个进程,每个进程有10个线程。所以线程的总数是100。 我必须从这些过程中的一个获得所有这100个线程名称(即,过程号5)
我尝试使用pthread_getname_np()
pthread_getname_np(status.tid, thredtable[threadTabIndex].ThreadName, 100);
但这会返回正在执行的当前进程的线程名称。 例如:由于当前正在执行,因此只返回5号进程的线程。
我有所有进程和线程的进程ID和线程ID。我现在想获得这些的线程名称。
任何建议都会非常有用。
提前致谢。
答案 0 :(得分:1)
使用__getset_thread_name解决了这个问题。
extern int __getset_thread_name(pid_t __pid, pthread_t __thr, const char *__newname,
int __newname_len, char *__prevname, int __prevname_len);
此方法在pthread.h中定义