pthread_self(3) Library Functions Manual pthread_self(3)
pthread_self - obtain ID of the calling thread
POSIX threads library (libpthread, -lpthread)
#include <pthread.h>
pthread_t pthread_self(void);
The pthread_self() function returns the ID of the calling thread.
This is the same value that is returned in *thread in the
pthread_create(3) call that created this thread.
This function always succeeds, returning the calling thread's ID.
This function always succeeds.
For an explanation of the terms used in this section, see
attributes(7).
┌─────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────┼───────────────┼─────────┤
│ pthread_self() │ Thread safety │ MT-Safe │
└─────────────────────────────────────┴───────────────┴─────────┘
POSIX.1-2008.
POSIX.1-2001.
POSIX.1 allows an implementation wide freedom in choosing the
type used to represent a thread ID; for example, representation
using either an arithmetic type or a structure is permitted.
Therefore, variables of type pthread_t can't portably be compared
using the C equality operator (==); use pthread_equal(3) instead.
Thread identifiers should be considered opaque: any attempt to
use a thread ID other than in pthreads calls is nonportable and
can lead to unspecified results.
Thread IDs are guaranteed to be unique only within a process. A
thread ID may be reused after a terminated thread has been
joined, or a detached thread has terminated.
The thread ID returned by pthread_self() is not the same thing as
the kernel thread ID returned by a call to gettid(2).
pthread_create(3), pthread_equal(3), pthreads(7)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.9.1.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2024-06-26. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
[email protected]
Linux man-pages 6.9.1 2024-05-02 pthread_self(3)
Pages that refer to this page: gettid(2), pthread_create(3), pthread_equal(3), pthread_getcpuclockid(3), pthread_kill(3), pthread_setaffinity_np(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7), signal-safety(7)