gettid(2) - Linux 手册页

名称

gettid - 获取线程标识

概要

#include <sys/types.h>
pid_t gettid(void);
注意:glibc 没有为该系统调用提供封装函数;请参阅“备注”部分。

描述

gettid() 返回调用者的线程 ID (TID)。在单线程进程中,线程 ID 等于进程 ID (PID,由 getpid(2) 返回)。在多线程进程中,所有线程具有相同的 PID,但每个线程都有一个唯一的 TID。有关更多详细信息,请参阅 clone(2)CLONE_THREAD 的讨论。

返回值

成功时,返回调用进程的线程 ID。

错误

此调用总是成功的。

版本

gettid() 系统调用首次出现在 Linux 内核 2.4.11 版本中。

符合

gettid() 是 Linux 特有的,不应在旨在可移植的程序中使用。

说明

Glibc 不提供此系统调用的包装器;使用 syscall(2) 调用它。

此调用返回的线程 ID 与 POSIX 线程 ID(即由 pthread_self(3) 返回的不透明值)不同。

参见

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), timer_create(2), tgkill(2)

引用自

capset(2), cpuset(7), proc(5), pthreads(7), ptrace(2), sched_getaffinity(2)