Manpages

名 前

pthread_self − 呼 び 出 し た ス レ ッ ド の ID を 取 得 す る

書 式

#include <pthread.h>

pthread_t pthread_self(void);

−pthread で コ ン パ イ ル し て リ ン ク す る 。

説 明

pthread_self() 関 数 は 、 呼 び 出 し た ス レ ッ ド の ID を 返 す 。 得 ら れ る ID は 、 こ の ス レ ッ ド が 作 成 さ れ た pthread_create(3) の 呼 び 出 し で *thread で 返 さ れ る の と 同 じ 値 で あ る 。

返 り 値

こ の 関 数 は 常 に 成 功 し 、 呼 び 出 し た ス レ ッ ド の ID を 返 す 。

エ ラ ー

こ の 関 数 は 常 に 成 功 す る 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )

pthread_self() 関 数 は ス レ ッ ド セ ー フ で あ る 。

準 拠

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.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。