gettid - получить идентификатор нити
gettid(2)
получить идентификатор нити
ОБЗОР
#include <sys/types.h>
pid_t gettid(void);
Замечание: в glibc нет обёрточной функции для данного системного вызова;
смотрите
ЗАМЕЧАНИЯ.
ОПИСАНИЕ
gettid() возвращает идентификатор нити вызвавшего процесса (TID). В
случае процесса с одной нитью он эквивалентен идентификатору процесса (PID,
возвращаемому
getpid(2)). В случае процесса с множеством нитей все нити
имеют одинаковый идентификатор процесса PID, но каждый из них имеет
уникальный идентификатор нити TID. Для получения подробной информации
см. обсуждение
CLONE_THREAD clone(2).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении возвращается идентификатор нити вызывающего
процесса.
ОШИБКИ
Этот системный вызов всегда выполняется успешно.
ВЕРСИИ
Вызов
gettid() впервые появился в Linux в ядре версии 2.4.11.
СООТВЕТСТВИЕ СТАНДАРТАМ
Вызов
gettid() является специфичным для Linux и не должен использоваться
в переносимых программах.
ЗАМЕЧАНИЯ
В glibc нет обёртки для данного системного вызова; запускайте его с помощью
syscall(2).
Идентификатор нити, возвращаемый этим вызовом, не является идентификатором
нити POSIX (т.е., неясным значением, возвращаемым pthread_self(3)).
В новой группе нитей, созданной вызовом clone(2) без флага
CLONE_THREAD (или новый процесс, созданный fork(2)), новый процесс
является лидером группы нитей, и ID этой группы нитей (значение,
возвращаемое gettid(2)) совпадает с ID этой нити (значение, возвращаемое
gettid()).