如果我搜索计算应用程序的线程数,所有答案都涉及像top这样的外部程序。我想在应用程序内部计算线程数。
我无法在线程创建时添加代码,因为它发生在不可变库内部。
我无法读取/proc。
这是在几个不同的Unix上运行的C/pthreads程序。
我无法在线程创建时添加代码,因为它发生在不可变库内部。
我无法读取/proc。
这是在几个不同的Unix上运行的C/pthreads程序。
/proc
,那么你可能会遇到些麻烦,除非你的程序与另一个读取/proc
的程序通信。/proc
,则可以使用一些抽象库来处理,例如libproc
。使用 top -H 命令。但是如果您无法读取 proc 目录,那么 top 命令也无法工作。如果是这种情况,就没有简单的方法了,这将取决于您的特定系统。
ptrace(2)
跟踪您的进程,但这只是一种调试时才会使用的hack方法。 - rlibbygettid
... - spraff