Thread support library
< c
If the macro constant __STDC_NO_THREADS__(C11) is defined by the compiler, the header <threads.h> and all of the names listed here are not provided.
Threads
|
Defined in header
<threads.h> |
|
thrd_t |
implementation-defined complete object type identifying a thread |
|
(C11)
|
creates a thread (function) |
|
(C11)
|
checks if two identifiers refer to the same thread (function) |
|
(C11)
|
obtains the current thread identifier (function) |
|
(C11)
|
suspends execution of the calling thread for the given period of time (function) |
|
(C11)
|
yields the current time slice (function) |
|
(C11)
|
terminates the calling thread (function) |
|
(C11)
|
detaches a thread (function) |
|
(C11)
|
blocks until a thread terminates (function) |
| indicates a thread error status (constant) |
|
|
thrd_start_t
(C11)
|
a typedef of the function pointer type int(*)(void*), used by thrd_create (typedef) |
Mutual exclusion
|
Defined in header
<threads.h> |
|
mtx_t |
mutex identifier |
|
(C11)
|
creates a mutex (function) |
|
(C11)
|
blocks until locks a mutex (function) |
|
(C11)
|
blocks until locks a mutex or times out (function) |
|
(C11)
|
locks a mutex or returns without blocking if already locked (function) |
|
(C11)
|
unlocks a mutex (function) |
|
(C11)
|
destroys a mutex (function) |
|
(C11)(C11)(C11)
|
defines the type of a mutex (enum) |
Call once |
|
|
(C11)
|
calls a function exactly once (function) |
Condition variables
|
Defined in header
<threads.h> |
|
cnd_t |
condition variable identifier |
|
(C11)
|
creates a condition variable (function) |
|
(C11)
|
unblocks one thread blocked on a condition variable (function) |
|
(C11)
|
unblocks all threads blocked on a condition variable (function) |
|
(C11)
|
blocks on a condition variable (function) |
|
(C11)
|
blocks on a condition variable, with a timeout (function) |
|
(C11)
|
destroys a condition variable (function) |
Thread-local storage
|
Defined in header
<threads.h> |
|
|
(C11)
|
thread local type macro (keyword macro) |
tss_t |
thread-specific storage pointer |
|
(C11)
|
maximum number of times destructors are called (macro constant) |
tss_dtor_t |
function pointer type void(*)(void*), used for TSS destructor |
|
(C11)
|
creates thread-specific storage pointer with a given destructor (function) |
|
(C11)
|
reads from thread-specific storage (function) |
|
(C11)
|
write to thread-specific storage (function) |
|
(C11)
|
releases the resources held by a given thread-specific pointer (function) |
Reserved identifiers
Function names, type names, and enumeration constants that begin with either cnd_, mtx_, thrd_, or tss_, and a lowercase letter may be added to the declarations in the <threads.h> header in future revisions of the C standard, and portable programs should not use those identifiers.
References
- C11 standard (ISO/IEC 9899:2011):
-
- 7.26 Threads <threads.h> (p: 376-387)
-
- 7.31.15 Threads <threads.h> (p: 456)
See also
| GNU GCC Libc Manual: ISO-C-Mutexes |