在linux下每一個進程都一個進程id,類型pid_t,可以由 getpid()獲取。
POSIX線程也有線程id,類型pthread_t,可以由 pthread_self()獲取,線程id由線程庫維護。
但是各個進程獨立,所以會有不同進程中線程號相同節的情況。那么這樣就會存在一個問題,我的進程p1中的線程pt1要與進程p2中的線程pt2通信怎么辦,進程id不可以,線程id又可能重復,所以這里會有一個真實的線程id唯一標識,tid。glibc沒有實現gettid的函數,所以我們可以通過linux下的系統調用 syscall(SYS_gettid) 來獲得。