pthread_self -
呼び出したスレッドの
ID を取得する
#include <pthread.h>
pthread_t pthread_self(void);
-pthread でコンパイルしてリンクする。
pthread_self()
関数は、呼び出したスレッドの
ID を返す。 得られる ID
は、このスレッドが作成された
pthread_create(3) の 呼び出しで
*thread
で返されるのと同じ値である。
返り値¶
この関数は常に成功し、呼び出したスレッドの
ID を返す。
エラー¶
この関数は常に成功する。
POSIX.1-2001.
POSIX.1 では、スレッド ID
を表現するのに使用する型は、
スレッド実装が完全に自由に選択してよいことになっている。
例えば、スレッド ID
を表現するのに数値型を使っても構造体を使ってもよい。
そのため、移植性を確保しつつ、
C 言語の等価演算子 (
==) を使って、
pthread_t
型の変数の比較を行うことはできない。
代わりに
pthread_equal(3)
を使うこと。
スレッド識別子はその内部構造を意識すべきではない。
pthreads
関数以外でスレッド ID
を利用しようとした場合、
移植性がなくなり、どのような結果が得られるかも分からない。
スレッド ID
の一意性が保証されるのは、あるプロセス内においてのみである。
終了したスレッドが join
されたり、
切り離された (detached)
スレッドが終了されたりした後は、
そのスレッド ID
は再利用されることがある。
pthread_self() が返すスレッド
ID は、
gettid(2)
が返すカーネルスレッド
ID
とは違うものである。
関連項目¶
pthread_create(3),
pthread_equal(3),
pthreads(7)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。