详解Linux获取线程的PID(TID、LWP)的几种方式
在 Linux C/C++ 中通常是通过 pthread 库进行线程级别的操作。在 pthread 库中有函数:它返回一个 pthread_t 类型的变量,指代的是调用 pthread_self 函数的线程的 “ID”。这个“ID”是 pthread 库给每个线程定义的进程内唯一标识,是 pthread 库维持的。由于每个进程有自己独立的内存空间,故此“ID”的作用域是进程级而非系统级。这个系统全局唯一的“ID”叫做线程PID,或叫做TID,也有叫做LWP的。11209是待观察的进程的PID。在top中指定了进程PID,输出包含四个线程,通过PID字段可获知每个线程的PID。如果进程是多线程模式,直接使用 taskset 将仅仅把主线程绑定,其他线程无法被绑定生效。
用户评论