gettid - получить
идентификатор
нити
Standard C library (
libc,
-lc)
#define _GNU_SOURCE
#include <unistd.h>
pid_t gettid(void);
gettid()
возвращает
идентификатор
нити
вызвавшего
процесса (TID).
В случае
процесса с
одной
нитью он
эквивалентен
идентификатору
процесса (PID,
возвращаемому
getpid(2)). В случае
процесса с
множеством
нитей все
нити имеют
одинаковый
идентификатор
процесса PID,
но каждый
из них
имеет
уникальный
идентификатор
нити TID. Для
получения
подробной
информации
см.
обсуждение
CLONE_THREAD clone(2).
При
успешном
выполнении
возвращается
идентификатор
вызывающей
нити.
Этот
системный
вызов
всегда
выполняется
успешно.
The
gettid() system call first appeared in Linux 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 и не
должен
использоваться
в
переносимых
программах.
Идентификатор
нити,
возвращаемый
этим
вызовом, не
является
идентификатором
нити POSIX (т.е.,
значением
с
произвольной
структурой,
возвращаемым
pthread_self(3)).
В новой
группе
нитей,
созданной
вызовом
clone(2)
без флага
CLONE_THREAD (или
новый
процесс,
созданный
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)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Vladislav <
[email protected]>,
Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]