当前位置:嗨网首页>书籍在线阅读

23-线程ID

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.7.5 线程ID

线程ID(TID)类似于进程ID(PID)。但是,PID是由Linux内核分配的,而TID是由Pthread库分配的[2]。TID是由模糊类型pthread_t表示的,POSIX不要求它是个算术类型。正如我们所看到的,新线程的TID是在成功调用pthread_create()时,通过thread参数提供。线程可以在运行时通过pthread_self()函数来获取自己的TID:

305.png 使用方式很简单,因为函数本身不会失败:

306.png 比较线程ID

因为Pthread标准不需要pthread_t是个算术类型,因此不能确保等号可以正常工作。因此,为了比较线程ID,Pthread库需要提供一些特定接口:

307.png 如果提供的两个线程ID一样,pthread_equal()函数会返回非零值。如果提供的线程ID不同,返回0。该函数不会失败。以下是个简单的示例:

308.png