GETTID(2) | Linux Programmer's Manual | GETTID(2) |
gettid - スレッドID を取得する
#define _GNU_SOURCE #include <unistd.h> #include <sys/types.h>
pid_t gettid(void);
gettid() は呼び出し元のスレッド ID (TID) を返す。 シングルスレッドのプロセスでは、スレッド ID は (getpid(2) が返すプロセス ID (PID) と等しい。 マルチスレッドのプロセスでは、全てのスレッドは同じ PID を持つが、 それぞれのスレッドは一意な TID を持つ。 さらなる詳細は、 clone(2) の CLONE_THREAD についての議論を参照すること。
成功の場合、呼び出し元のスレッドのスレッドID を返す。
このコールは常に成功する。
The gettid() system call first appeared on Linux in kernel 2.4.11. Library support was added in glibc 2.30. (Earlier glibc versions did not provide a wrapper for this system call, necessitating the use of syscall(2).)
gettid() は Linux 固有であり、 移植を想定したプログラムでは使用すべきではない。
このシステムコールが返すスレッド ID は POSIX スレッド ID (pthread_self(3) が返す曖昧な値) と同じものではない。
In a new thread group created by a clone(2) call that does not specify the CLONE_THREAD flag (or, equivalently, a new process created by fork(2)), the new process is a thread group leader, and its thread group ID (the value returned by getpid(2)) is the same as its thread ID (the value returned by gettid()).
capget(2), clone(2), fcntl(2), fork(2), get_robust_list(2), getpid(2), ioprio_set(2), perf_event_open(2), sched_setaffinity(2), sched_setparam(2), sched_setscheduler(2), tgkill(2), timer_create(2)
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
2020-04-11 | Linux |