Skip to content

gettid(2)

Seonghun Lim edited this page Dec 7, 2017 · 7 revisions

NAME

gettid - 스레드 식별자 얻기

SYNOPSIS

#include <sys/types.h>

pid_t gettid(void);

주의: 이 시스템 호출에 대한 glibc 래퍼가 없다. NOTES를 보라.

DESCRIPTION

gettid()는 호출자의 스레드 ID(TID)를 반환한다. 단일 스레드인 프로세스에서 스레드 ID는 프로세스 ID(getpid(2)가 반환하는 PID)와 같다. 다중 스레드인 프로세스에서 모든 스레드는 PID가 같지만 각각 유일한 TID를 가진다. 더 자세한 내용은 clone(2)CLONE_THREAD 논의를 보라.

RETURN VALUE

성공 시 호출 프로세스의 스레드 ID를 반환한다.

ERRORS

이 호출은 항상 성공이다.

VERSIONS

리눅스 커널 2.4.11에서 gettid() 시스템 호출이 처음 등장했다.

CONFORMING TO

gettid()는 리눅스 전용이며 이식성이 있어야 하는 프로그램에서는 사용하지 말아야 한다.

NOTES

glibc에서 이 시스템 호출의 래퍼를 제공하지 않는다. syscall(2)을 이용해 호출해야 한다.

이 호출이 반환하는 스레드 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), getpid(2), get_robust_list(2), ioprio_set(2), perm_event_open(2), sched_setaffinity(2), sched_setparam(2), sched_setscheduler(2), tgkill(2), timer_create(2)


2017-09-15

Clone this wiki locally