linux怎么通过线程id去获取线程

linux怎么通过线程id去获取线程,第1张

通过查看资料,发现一种比较简单的方法就是在代码中使用printf将当前线程的id打印出来。

而这也分成两种情况:

1. 如果是pthread,则使用,

#include <pthread.h>

pthread_t pthread_self(void)

2. 如果不是pthread,即是由内核创建的线程,则使用,

#include <sys/types.h>

pid_t gettid(void)

获取线程所在的进程的id,方法如下:

#include <sys/types.h>

Linux下获取当前线程ID号函数:pthread_tpthread_self()返回:当前线程的ID号pthread_t数据类型的定义如下:typedefunsignedlongintpthread_tsizeof(pthread_t)=4,4个字节的整数。Windows下获取当前线程ID号的函数:DWORDGetCurrentThreadId()返回值:当前线程的ID号DWORD数据类型定义:typedefunsignedlongDWORD在Windows下pthread-win库的pthread_t定义如下:

Linux系统查看某个进程的线程数可以通过ps命令来进行查询。以firefox进程为例。

1、查看firefox的进程pid,如下图所示,firefox的进程pid为3168。

2、查看firefox中的线程数和线程ID,如下图所示,

其中NLWP

列为线程数

LWP列为线程ID,可见firefox有线程数50。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8479176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存