The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2016 The IEEE and The Open Group, All Rights reserved.

### Threads Index

- Threads Overview
- Threads Interfaces
  - pthread.h - threads
  - pthread_atfork() - register fork handlers
  - pthread_attr_destroy(), pthread_attr_init - destroy and initialize threads attributes object
  - pthread_attr_getinheritsched(), pthread_attr_setinheritsched - get and set inheritsched attribute (REALTIME THREADS)
  - pthread_attr_getschedparam(), pthread_attr_setschedparam - get and set schedparam attribute
  - pthread_attr_getschedpolicy(), pthread_attr_setschedpolicy - get and set schedpolicy attribute (REALTIME THREADS)
  - pthread_attr_getscope(), pthread_attr_setscope - get and set contentionscope attribute (REALTIME THREADS)
  - pthread_attr_getstack(), pthread_attr_setstack - get and set stack attributes
  - pthread_attr_init() - initialize threads attributes object
  - pthread_attr_setdetachstate() - set detachstate attribute
  - pthread_attr_setguardsize() - set thread guardsize attribute
  - pthread_attr_setinheritsched() - set inheritsched attribute (REALTIME THREADS)
  - pthread_attr_setschedparam() - set schedparam attribute
  - pthread_attr_setschedpolicy() - set schedpolicy attribute (REALTIME THREADS)
  - pthread_attr_setscope() - set contentionscope attribute (REALTIME THREADS)
  - pthread_attr_setstack() - set stack attribute
  - pthread_attr_setstacksize() - set stacksize attribute
  - pthread_barrierattr_destroy(), pthread_barrierattr_init - destroy and initialize barrier attributes object
  - pthread_barrierattr_getpshared(), pthread_barrierattr_setpshared - get and set process-shared attribute of barrier attributes object
  - pthread_barrierattr_init() - initialize barrier attributes object
  - pthread_barrierattr_setpshared() - set process-shared attribute of barrier attributes object
  - pthread_barrier_destroy(), pthread_barrier_init - destroy and initialize a barrier object
  - pthread_barrier_init() - initialize a barrier object
  - pthread_barrier_wait() - synchronize at a barrier
  - pthread_cancel() - cancel execution of a thread
  - pthread_cleanup_pop(), pthread_cleanup_push - establish cancelation handlers
  - pthread_condattr_destroy(), pthread_condattr_init - destroy and initialize condition variable attributes object
  - pthread_condattr_getclock(), pthread_condattr_setclock - get and set the clock selection condition variable attribute
  - pthread_condattr_getpshared(), pthread_condattr_setpshared - get and set the process-shared condition variable attributes
  - pthread_condattr_init() - initialize condition variable attributes object
  - pthread_condattr_setclock() - set the clock selection condition variable attribute
  - pthread_condattr_setpshared() - set the process-shared condition variable attributes
  - pthread_cond_broadcast(), pthread_cond_signal - broadcast or signal a condition
  - pthread_cond_destroy(), pthread_cond_init - destroy and initialize condition variables
  - pthread_cond_init() - initialize condition variables
  - pthread_cond_signal() - signal a condition
  - pthread_cond_timedwait(), pthread_cond_wait - wait on a condition
  - pthread_cond_wait() - wait on a condition
  - pthread_create() - thread creation
  - pthread_detach() - detach a thread
  - pthread_equal() - compare thread IDs
  - pthread_exit() - thread termination
  - pthread_getconcurrency(), pthread_setconcurrency - get and set level of concurrency
  - pthread_getcpuclockid() - access a thread CPU-time clock (ADVANCED REALTIME THREADS)
  - pthread_getschedparam(), pthread_setschedparam - dynamic thread scheduling parameters access (REALTIME THREADS)
  - pthread_getspecific(), pthread_setspecific - thread-specific data management
  - pthread_join() - wait for thread termination
  - pthread_key_create() - thread-specific data key creation
  - pthread_key_delete() - thread-specific data key deletion
  - pthread_kill() - send a signal to a thread
  - pthread_mutexattr_destroy(), pthread_mutexattr_init - destroy and initialize mutex attributes object
  - pthread_mutexattr_getprioceiling(), pthread_mutexattr_setprioceiling - get and set prioceiling attribute of mutex attributes object (REALTIME THREADS)
  - pthread_mutexattr_getprotocol(), pthread_mutexattr_setprotocol - get and set protocol attribute of mutex attributes object (REALTIME THREADS)
  - pthread_mutexattr_getpshared(), pthread_mutexattr_setpshared - get and set process-shared attribute
  - pthread_mutexattr_getrobust(), pthread_mutexattr_setrobust - get and set the mutex robust attribute
  - pthread_mutexattr_gettype(), pthread_mutexattr_settype - get and set a mutex type attribute
  - pthread_mutexattr_init() - initialize mutex attributes object
  - pthread_mutexattr_setprioceiling() - set prioceiling attribute of mutex attributes object (REALTIME THREADS)
  - pthread_mutexattr_setprotocol() - set protocol attribute of mutex attributes object (REALTIME THREADS)
  - pthread_mutexattr_setpshared() - set process-shared attribute
  - pthread_mutexattr_setrobust() - set the mutex robust attribute
  - pthread_mutexattr_settype() - set a mutex type attribute
  - pthread_mutex_consistent() - mark state protected by robust mutex as consistent
  - pthread_mutex_destroy(), pthread_mutex_init - destroy and initialize a mutex
  - pthread_mutex_getprioceiling(), pthread_mutex_setprioceiling - get and set the priority ceiling of a mutex (REALTIME THREADS)
  - pthread_mutex_init() - initialize a mutex
  - pthread_mutex_lock(), pthread_mutex_trylock, pthread_mutex_unlock - lock and unlock a mutex
  - pthread_mutex_setprioceiling() - change the priority ceiling of a mutex (REALTIME THREADS)
  - pthread_mutex_timedlock() - lock a mutex
  - pthread_mutex_trylock(), pthread_mutex_unlock - lock and unlock a mutex
  - pthread_once() - dynamic package initialization
  - pthread_rwlockattr_destroy(), pthread_rwlockattr_init - destroy and initialize read-write lock attributes object
  - pthread_rwlockattr_getpshared(), pthread_rwlockattr_setpshared - get and set process-shared attribute of read-write lock attributes object
  - pthread_rwlockattr_init() - initialize read-write lock attributes object
  - pthread_rwlockattr_setpshared() - set process-shared attribute of read-write lock attributes object
  - pthread_rwlock_destroy(), pthread_rwlock_init - destroy and initialize a read-write lock object
  - pthread_rwlock_init() - initialize a read-write lock object
  - pthread_rwlock_rdlock(), pthread_rwlock_tryrdlock - lock a read-write lock object for reading
  - pthread_rwlock_timedrdlock() - lock a read-write lock for reading
  - pthread_rwlock_timedwrlock() - lock a read-write lock for writing
  - pthread_rwlock_tryrdlock() - lock a read-write lock object for reading
  - pthread_rwlock_trywrlock(), pthread_rwlock_wrlock - lock a read-write lock object for writing
  - pthread_rwlock_unlock() - unlock a read-write lock object
  - pthread_rwlock_wrlock() - lock a read-write lock object for writing
  - pthread_self() - get calling thread's ID
  - pthread_setcancelstate(), pthread_setcanceltype, pthread_testcancel - set cancelability state
  - pthread_setconcurrency() - set level of concurrency
  - pthread_setschedparam() - dynamic thread scheduling parameters access (REALTIME THREADS)
  - pthread_setschedprio() - dynamic thread scheduling parameters access (REALTIME THREADS)
  - pthread_setspecific() - thread-specific data management
  - pthread_sigmask(), sigprocmask - examine and change blocked signals
  - pthread_spin_destroy(), pthread_spin_init - destroy or initialize a spin lock object
  - pthread_spin_init() - initialize a spin lock object
  - pthread_spin_lock(), pthread_spin_trylock - lock a spin lock object
  - pthread_spin_trylock() - lock a spin lock object
  - pthread_spin_unlock() - unlock a spin lock object
  - pthread_testcancel() - set cancelability state
- Threads Rationale