GETTID - Linux手册页
Linux程序员手册 第2部分
更新日期: 2020-04-11
名称
gettid-获取线程标识
语法
#define _GNU_SOURCE #include <unistd.h> #include <sys/types.h> pid_t gettid(void);
说明
gettid()返回调用者的线程ID(TID)。在单线程进程中,线程ID等于进程ID(由getpid(2)返回的PID)。在多线程进程中,所有线程都具有相同的PID,但是每个线程都有唯一的TID。有关更多详细信息,请参见clone(2)中有关CLONE_THREAD的讨论。
返回值
成功时,返回调用线程的线程ID。
错误说明
此呼叫始终成功。
版本
gettid()系统调用首先出现在Linux上的内核2.4.11中。库支持在glibc 2.30中添加。 (较早的glibc版本未提供此系统调用的包装器,因此必须使用syscall(2)。)
遵循规范
gettid()是特定于Linux的,不应在旨在可移植的程序中使用。
备注
此调用返回的线程ID与POSIX线程ID不同(即pthread_self(3)返回的不透明值)。
在由不指定CLONE_THREAD标志的clone(2)调用创建的新线程组(或等效地,由fork(2)创建的新进程)中,新进程是线程组领导者及其线程组ID (getpid(2)返回的值)与其线程ID(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)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。