実装依存なので注意。今回の話は Linux (glibc) についてです。 pthread_create 第一引数や、pthread_self戻り値で使用される pthread_t 型であるがその値の意味について考えたことは無かった。 pthread_t 型をマニュアルなどを確認すると「スレッドの識別子」と記載されているが、システムコール(gettid)の返す値とは異なり、無意味な値だと考えていた。ところが、前回の調査を行なった結果、あるところのポインタ値であることが分かった。 まず、pthread_t の値(ポインタ値)を確認しみる。値自体は gdb で “info threads” としたときにも出力されます。 (gdb) info threads 2 Thread 0xb7fedb90 (LWP 8398) 0xb7fff424 in __kernel_vsyscall () *