[原创] 线程ID

chenbingjy   2016-9-12 13:08 楼主
线程ID(TID)类似于进程ID(PID).但是,PID是由Linux内核分配的,而
TID是由Pthread库分配的。TID是由模糊类型pthread_t表示的,POSIX
不要求它是个算术类型。正如我们所看到的,新线程的TID是在成功调用
pthread_create()时,通过thread参数提供。线程可以在运行时通过pthread_self()
函数来获取自己的TID:
#include
pthread_t pthread_self(void);
使用方式很简单,因为函数本身不会失败:
const pthread_t me=pthread_self();
比较线程ID:
因为Pthread标准不需要pthread_t是个算术类型,因此不能确保等号可以正常工作。
因此,为了比较线程ID,Pthread库需要提供一些特定接口:
#include
int pthread_equal(pthread_t t1,pthread_t t2);
如果提供的两个线程ID一样,pthread_equal()函数会返回非零值。如果提供的线程ID
不同,返回0.该函数不会失败。
以下是个简单的示例:
1.jpg 2.jpg
编译:
3.jpg
运行:
4.jpg
为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复