pthread.h
The pthread.h header file contains function declarations and mappings for threading interfaces and defines a number of constants used by those functions. The header includes the sched.h header. When _UNIX03_THREADS is defined, pthread.h also includes the time.h header. For _OPEN_THREADS applications, pthread.h defines the timespec structure.
There is a lot of overlap in the namespaces identified by the _OPEN_THREADS and _UNIX03_THREADS feature test macros. There are, however, behavioral differences between functions of the same name exposed by _OPEN_THREADS (POSIX.4a Draft 6) and by _UNIX03_THREADS (Single UNIX Specification, Version 3). See the individual function descriptions for specific details.
_OPEN_THREADS 1
pthread_attr_destroy() | pthread_attr_getdetachstate() |
pthread_attr_getstacksize() | pthread_attr_init() |
pthread_attr_setdetachstate() | pthread_attr_setstacksize() |
pthread_cancel() | pthread_cleanup_pop() |
pthread_cleanup_push() | pthread_condattr_destroy() |
pthread_condattr_init() | pthread_cond_broadcast() |
pthread_cond_destroy() | pthread_cond_init() |
pthread_cond_signal() | pthread_cond_timedwait() |
pthread_cond_wait() | pthread_create() |
pthread_detach() | pthread_equal() |
pthread_exit() | pthread_getspecific() |
pthread_join() | pthread_key_create() |
pthread_kill() | pthread_mutexattr_destroy() |
pthread_mutexattr_getpshared() | pthread_mutexattr_gettype() |
pthread_mutexattr_init() | pthread_mutexattr_setpshared() |
pthread_mutexattr_settype() | pthread_mutex_destroy() |
pthread_mutex_init() | pthread_mutex_lock() |
pthread_mutex_trylock() | pthread_mutex_unlock() |
pthread_once() | pthread_rwlockattr_destroy() |
pthread_rwlockattr_getpshared() | pthread_rwlockattr_init() |
pthread_rwlockattr_setpshared() | pthread_rwlock_destroy() |
pthread_rwlock_init() | pthread_rwlock_rdlock() |
pthread_rwlock_tryrdlock() | pthread_rwlock_trywrlock() |
pthread_rwlock_unlock() | pthread_self() |
pthread_setintr() | pthread_setintrtype() |
pthread_setspecific() | pthread_testintr() |
pthread_tag_np() | pthread_yield() |
_OPEN_THREADS 2
pthread_getconcurrency() | pthread_key_delete() |
pthread_setcancelstate() | pthread_setcanceltype() |
pthread_setconcurrency() | pthread_testcancel() |
_OPEN_THREADS 3
pthread_atfork() | |
pthread_attr_getguardsize() | pthread_attr_setguardsize() |
pthread_attr_getschedparam() | pthread_attr_setschedparam() |
pthread_attr_getstack() | pthread_attr_setstack() |
pthread_attr_getstackaddr() | pthread_attr_setstackaddr() |
_UNIX03_THREADS
pthread_atfork() | pthread_getspecific() |
pthread_attr_destroy() | pthread_join() |
pthread_attr_getdetachstate() | pthread_key_create() |
pthread_attr_getguardsize() | pthread_key_delete() |
pthread_attr_getschedparam() | pthread_mutex_destroy() |
pthread_attr_getstack() | pthread_mutex_init() |
pthread_attr_getstackaddr() | pthread_mutex_lock() |
pthread_attr_getstacksize() | pthread_mutex_trylock() |
pthread_attr_init() | pthread_mutex_unlock() |
pthread_attr_setdetachstate() | pthread_mutexattr_destroy() |
pthread_attr_setguardsize() | pthread_mutexattr_getpshared() |
pthread_attr_setschedparam() | pthread_mutexattr_gettype() |
pthread_attr_setstack() | pthread_mutexattr_init() |
pthread_attr_setstackaddr() | pthread_mutexattr_setpshared() |
pthread_attr_setstacksize() | pthread_mutexattr_settype() |
pthread_cancel() | pthread_once() |
pthread_cleanup_pop() | pthread_rwlock_destroy() |
pthread_cleanup_push() | pthread_rwlock_init() |
pthread_cond_broadcast() | pthread_rwlock_rdlock() |
pthread_cond_destroy() | pthread_rwlock_tryrdlock() |
pthread_cond_init() | pthread_rwlock_trywrlock() |
pthread_cond_signal() | pthread_rwlock_unlock() |
pthread_cond_timedwait() | pthread_rwlock_wrlock() |
pthread_cond_wait() | pthread_rwlockattr_destroy() |
pthread_condattr_destroy() | pthread_rwlockattr_getpshared() |
pthread_condattr_getpshared() | pthread_rwlockattr_init() |
pthread_condattr_init() | pthread_rwlockattr_setpshared() |
pthread_condattr_setpshared() | pthread_self() |
pthread_create() | pthread_setcancelstate() |
pthread_detach() | pthread_setcanceltype() |
pthread_equal() | pthread_setconcurrency() |
pthread_exit() | pthread_setspecific() |
pthread_getconcurrency() | pthread_testcancel() |
PTHREAD_CANCEL_ASYNCHRONOUS | PTHREAD_MUTEX_DEFAULT |
PTHREAD_CANCEL_DEFERRED | PTHREAD_MUTEX_ERRORCHECK |
PTHREAD_CANCEL_DISABLE | PTHREAD_MUTEX_INITIALIZER |
PTHREAD_CANCEL_ENABLE | PTHREAD_MUTEX_NORMAL |
PTHREAD_CANCELED | PTHREAD_MUTEX_RECURSIVE |
PTHREAD_COND_INITIALIZER | PTHREAD_ONCE_INIT |
PTHREAD_CREATE_DETACHED | PTHREAD_PROCESS_PRIVATE |
PTHREAD_CREATE_JOINABLE | PTHREAD_PROCESS_SHARED |
PTHREAD_EXPLICIT_SCHED | PTHREAD_RWLOCK_INITIALIZER_NP |
PTHREAD_INHERIT_SCHED |
_OPEN_SYS
pthread_attr_getsynctype_np() | pthread_attr_getweight_np() |
pthread_attr_setsynctype_np() | pthread_attr_setweight_np() |
pthread_condattr_getkind_np() | pthread_condattr_setkind_np() |
pthread_join_d4_np() | pthread_mutexattr_getkind_np() |
pthread_mutexattr_setkind_np() | pthread_security_np() |
pthread_set_limit_np() | pthread_tag_np() |
_OPEN_SYS_MUTEX_EXT
pthread_condattr_getpshared() | pthread_condattr_setpshared() |
The pthread.h header defines the following constants:
__COND_DEFAULT | __COND_NODEBUG |
__DETACHED | __HEAVY_WEIGHT |
__MEDIUM_WEIGHT | __MUTEX_NODEBXG |
__MUTEX_NONRECXRSIVE | __MUTEX_RECXRSIVE |
__UNDETACHED | NO_PRIO_INHERIT |
PRIO_INHERIT | PTHREAD_DEFAULT_SCHED |
PTHREAD_INHERIT_SCHED | PTHREAD_INTR_ASYNCHRONOUS |
PTHREAD_INTR_CONTROLLED | PTHREAD_INTR_DISABLE |
PTHREAD_INTR_ENABLE | PTHREAD_ONCE_INIT |
PTHREAD_PROCESS_PRIVATE | PTHREAD_PROCESS_SHARED |
PTHREAD_SCOPE_GLOBAL | PTHREAD_SCOPE_LOCAL |
SCHED_FIFO | SCHED_OTHER |
SCHED_RR | PRIO_PROTECT |
Furthermore, pthread.h defines these macros:
PTHREAD_MUTEX_DEFAULT | PTHREAD_MUTEX_ERRORCHECK |
PTHREAD_MUTEX_NORMAL | PTHREAD_MUTEX_INITIALIZER |
PTHREAD_MUTEX_RECURSIVE | PTHREAD_RWLOCK_INITIALIZER |
__THDQ_LENGTH |
_OPEN_THREADS 2
PTHREAD_CANCEL_ENABLE | PTHREAD_CANCEL_DISABLE |
PTHREAD_CANCEL_DEFERRED | PTHREAD_CANCEL_ASYNCHRONOUS |