NAME
gettid - 스레드 식별자 얻기
SYNOPSIS
#define _GNU_SOURCE
#include <unistd.h>
pid_t gettid(void);
DESCRIPTION
gettid()
는 호출자의 스레드 ID(TID)를 반환한다. 단일 스레드인 프로세스에서 스레드 ID는 프로세스 ID(getpid(2)가 반환하는 PID)와 같다. 다중 스레드인 프로세스에서 모든 스레드는 PID가 같지만 각각 유일한 TID를 가진다. 더 자세한 내용은 clone(2)의 CLONE_THREAD
설명을 보라.
RETURN VALUE
성공 시 호출 스레드의 스레드 ID를 반환한다.
ERRORS
이 호출은 항상 성공이다.
VERSIONS
리눅스 커널 2.4.11에서 gettid()
시스템 호출이 처음 등장했다. glibc 2.30에서 라이브러리 지원이 추가되었다. (그 전 glibc 버전에서는 이 시스템 호출의 래퍼를 제공하지 않아서 syscall(2)을 써야 했다.)
CONFORMING TO
gettid()
는 리눅스 전용이므로 이식성이 있어야 하는 프로그램에서는 사용하지 말아야 한다.
NOTES
이 호출이 반환하는 스레드 ID는 POSIX 스레드 ID와 (즉 pthread_self(3)가 반환하는 불투명한 값과) 같은 것이 아니다.
CLONE_THREAD
플래그를 지정하지 않은 clone(2) 호출로 생성한 새 스레드 그룹에서 (또는 그와 동등하게, fork(2)로 생성한 새 프로세스에서) 새 프로세스는 스레드 그룹 리더이며 그 스레드 그룹 ID가 (즉 getpid(2)가 반환하는 값이) 그 스레드 ID와 (즉 gettid()
가 반환하는 값과) 같다.
SEE ALSO
capget(2), clone(2), fcntl(2), fork(2), get_robust_list(2), getpid(2), ioprio_set(2), perm_event_open(2), sched_setaffinity(2), sched_setparam(2), sched_setscheduler(2), tgkill(2), timer_create(2)
2021-03-22