如何在FreeBSD上获取当前进程中的线程数?

时间:2013-07-10 07:12:18

标签: multithreading pthreads freebsd

我认为不存在便携式解决方案。在linux上,我们查看/ proc // task /,在darwin上我们使用task_threads()。那FreeBSD怎么样?

2 个答案:

答案 0 :(得分:0)

似乎kvm_getprocs就是答案。

答案 1 :(得分:0)

melisgl是正确的 - 但是只有当你使用默认的线程实现时,进程的线程才是“内核可见的”。 (还有其他一些实现,比如pth,这可能不是真的。)

使用KERN_PROC_PID | KERN_PROC_INC_THREAD(未经测试),使用kvm_getprocs()计算进程的内核可见线程。但是使用该功能可能需要root权限:(