线程之线程标识
就像每個進程有一個進程ID一樣,每個線程也有一個線程ID。進程ID在整個系統中是唯一的,但線程ID不同,線程ID只在它所屬的進程環境中有效。
進程ID,用pid_t數據類型來表示,是一個非負整數。線程ID則用pthread_t數據類型來表示,實現的時候可以用一個結構來代表pthread_t數據類型,所以可移植的操作系統實現不能把它作為整數處理。因此必須使用函數來對兩個線程ID進行比較。
#include <pthread.h> int pthread_equal( pthread_t tid1, pthread_t tid2 ); 返回值:若相等則返回非0值,否則返回0
Linux 2.4.22使用無符號長整型表示pthread_t數據類型。Solaris 9把pthread_t數據類型表示為無符號整數。FreeBSD 5.2.1和Mac OS X10.3用一個指向pthread結構的指針來表示pthread_t數據類型。
用結果表示pthread_t數據類型的后果是不能用一種可移植的方式打印該數據類型的值。
線程可以通過調用pthread_self函數獲得自身的線程ID。
#include <pthread.h> pthread_t pthread_self(void); 返回值:調用線程的線程ID
?
本篇博文內容摘自《UNIX環境高級編程》(第二版),僅作個人學習記錄所用。關于本書可參考:http://www.apuebook.com/。
轉載于:https://www.cnblogs.com/nufangrensheng/p/3518136.html
總結
- 上一篇: 求我开头的成语接龙!
- 下一篇: 好听的微电影名字大全