相关疑难解决方法(0)

如何打印pthread_t

搜索过,但没有遇到令人满意的答案.

我知道没有一种可移植的方式来打印pthread_t.

你是如何在你的应用程序中做到的?

更新:

其实我不需要pthread_t,而是一些小的数字id,在调试消息中识别不同的线程.

在我的系统(64位RHEL 5.3)上,它被定义为unsigned long int,因此它是大数字,只是打印它在调试行中占有一席之地.gdb如何分配短时间?

c c++ linux pthreads

50
推荐指数
4
解决办法
10万
查看次数

pthread_t到gdb线程id

有没有人知道从pthread_t到GDB用信息线程显示的方法?

所以我有:

(gdb) info threads
  37 Thread 22887  0xb7704422 in __kernel_vsyscall ()
  36 Thread 22926  0xb7704422 in __kernel_vsyscall ()
  35 Thread 22925  0xb7704422 in __kernel_vsyscall ()
  34 Thread 22924  0xb7704422 in __kernel_vsyscall ()
  33 Thread 22922  0xb7704422 in __kernel_vsyscall ()
  32 Thread 22921  0xb7704422 in __kernel_vsyscall ()

(gdb) p m_messageQueue->m_creationThread
$3 = 2694822768
(gdb) p/x m_messageQueue->m_creationThread
$4 = 0xa09fbb70
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么弄清楚这是哪个线程?它似乎是22768,但我的线程都没有那么低.

c gdb pthreads

21
推荐指数
2
解决办法
1万
查看次数

在Linux中查找Thread的CPU使用情况

我有一个在Linux上运行的基于C的应用程序,有大约30个线程.现在我需要编写一个小实用程序,它在给定时间查找每个线程的CPU使用情况.它可以是应用程序的单独或部分.

/ proc的一个问题是找到哪个线程是什么.

请给我一些如何开始的想法.

谢谢

c linux pthreads cpu-usage

7
推荐指数
1
解决办法
1944
查看次数

如何枚举当前进程中所有pthread的pthread_t?

我需要控制进程中所有pthread的CPU亲和性.某些pthread由第三方库创建.有没有办法枚举进程中所有现有pthread的pthread_t,以便我可以在它们上调用pthread_setaffinity_np()?

pthreads

6
推荐指数
0
解决办法
1928
查看次数

在Linux上,在C中,我如何获得进程的所有线程?

如何遍历当前进程的所有线程的所有tid?有什么方法不涉及潜入/proc

c linux system-calls

5
推荐指数
1
解决办法
2736
查看次数

列出所有主题

如何在FreeBSD中列出当前进程中的所有线程?或者至少,获取运行的线程数.

我找到了Linux系统调用pstat_getproc,它返回一个包含pst_nlwps线程数的struct .我在FreeBSD上寻找类似的东西.

或者也许有一些类似于/dev/fd线程的东西.

我可以使用任何东西来了解有多少其他线程正在运行.

我希望能够在C中以编程方式执行此操作,而不是使用现有的应用程序.

c unix posix freebsd pthreads

5
推荐指数
1
解决办法
185
查看次数

链接期间如何替换pthread_create

我想维护所有正在运行的线程的列表,以及有关每个线程的一些其他信息。在此答案中提到可以提供我自己的pthread_create版本并与其链接程序。我想在其覆盖版本的末尾调用原始pthread_create也很重要。

有人可以详细解释如何完成和/或提供一些代码示例吗?

c linux multithreading posix

5
推荐指数
1
解决办法
726
查看次数

标签 统计

c ×6

pthreads ×5

linux ×4

posix ×2

c++ ×1

cpu-usage ×1

freebsd ×1

gdb ×1

multithreading ×1

system-calls ×1

unix ×1