pthread_t pthread_self()
返回:当前线程的ID号
pthread_t 数据类型的定义如下:
typedef unsigned long int pthread_t
sizeof(pthread_t) = 4,4个字节的整数。
Windows下获取当前线程ID号的函数:
DWORD GetCurrentThreadId()
返回值:当前线程的ID号
DWORD数据类型定义:
typedef unsigned long DWORD
在Windows下pthread-win库的pthread_t定义如下:
typedef struct {
void * p /*Pointer to actual object */
unsigned int x/*Extra information - reuse count etc */
} ptw32_handle_t
typedef ptw32_handle_t pthread_t
与Linux的thread_t不一样,它是一个结构,不是一个整数值
在Windows和Linux下可用的获取线程ID号的内联函数如下:
#ifdef WIN32
#include <windows.h>
#else
#include <pthread.h>
#endif
inline unsigned int PthreadSelf()
{
#ifdef WIN32
return::GetCurrentThreadId()
#else
returnthread_self()
#endif
}
方法一:PS在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。
$ ps -T -p <pid>
“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。
方法二: Top
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
$ top -H
要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:
$ top -H -p <pid>
方法三: Htop
一个对用户更加友好的方式是,通过htop查看单个进程的线程,它是一个基于ncurses的交互进程查看器。该程序允许你在树状视图中监控单个独立线程。
要在htop中启用线程查看,请开启htop,然后按<F2>来进入htop的设置菜单。选择“设置”栏下面的“显示选项”,然后开启“树状视图”和“显示自定义线程名”选项。按<F10>退出设置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)