The highly portable pthread interface contains routines grouped in the following functional categories:
DECthreads also provides routines that implement nonportable extensions to the POSIX 1003.1c standard. These routines are grouped in these functional categories:
Table 1-1 lists and summarizes the DECthreads routines into these functional groups that support the POSIX thread (pthread) interface.
General Threads Routines
Routine Description
pthread_atfork Declares fork handlers to be called.
pthread_create Creates a thread object and thread.
pthread_detach Marks a thread object for deletion.
pthread_equal Compares one thread identifier to another
thread identifier.
pthread_exit Terminates the calling thread.
pthread_join Causes the calling thread to wait for the
termination of a specified thread and detach
it.
pthread_kill Delivers a signal to a specified thread.
pthread_once Calls an initialization routine to be executed
only once.
pthread_self Obtains the identifier of the current thread.
pthread_sigmask Examines or changes the current thread's
signal mask.
Thread Attributes Object Routines
Routine Description
pthread_attr_ Destroys a thread attributes object.
destroy
pthread_attr_ Obtains the detachstate attribute from the
getdetachstate specified pthread attributes object.
pthread_attr_ Obtains the inherit scheduling attribute from
getinheritsched the specified thread attributes object.
pthread_attr_ Obtains the scheduling parameters for an
getschedparam attribute of the specified thread attributes
object.
pthread_attr_ Obtains the scheduling policy attribute of the
getschedpolicy specified thread attributes object.
pthread_attr_ Obtains the stacksize attribute of the
getstacksize specified thread attributes object.
pthread_attr_init Initializes a thread attributes object.
pthread_attr_ Changes the detachstate attribute in the
setdetachstate specified thread attributes object.
pthread_attr_ Changes the inherit scheduling attribute of
setinheritsched the specified thread attributes object.
pthread_attr_ Changes the values of the parameters
setschedparam associated with the scheduling policy
attribute of the specified thread attributes
object.
pthread_attr_ Changes the scheduling policy attribute of the
setschedpolicy specified thread attributes object.
pthread_attr_ Changes the stacksize attribute in the
setstacksize specified thread attributes object.
Mutex Attributes Object Routines
Routine Description
pthread_mutexattr_ Initializes a mutex attributes object.
init
pthread_mutexattr_ Destroys a mutex attributes object.
destroy
Condition Variable Attributes Object Routines
Routine Description
pthread_condattr_ Initializes a condition variable attributes
init object that specifies condition variable
attributes when created.
pthread_condattr_ Destroys a condition variable attributes
destroy object.
Mutex Routines
Routine Description
pthread_mutex_ Destroys a mutex.
destroy
pthread_mutex_init Initializes a mutex with attributes specified
by the attributes argument.
pthread_mutex_lock Locks an unlocked mutex. If locked, the caller
waits for the mutex to become available.
pthread_mutex_ Locks an unlocked mutex or returns immediately
trylock if mutex is locked.
pthread_mutex_unlock Unlocks the mutex.
Condition Variable Routines
Routine Description
pthread_cond_ Wakes all threads waiting on a condition
broadcast variable.
pthread_cond_destroy Destroys a condition variable.
pthread_cond_init Initializes a condition variable.
pthread_cond_signal Wakes at least one thread that is waiting on a
condition variable.
pthread_cond_ Causes a thread to wait for a condition
timedwait variable to be signaled or broadcasted for
a specified period of time.
pthread_cond_wait Causes a thread to wait for a condition
variable to be signaled or broadcasted.
Thread-Specific Data Routines
Routine Description
pthread_getspecific Obtains the thread-specific data associated
with the specified key.
pthread_key_create Generates a unique thread-specific data key.
pthread_setspecific Sets the thread-specific data value associated
with the specified key for the current thread.
pthread_key_delete Deletes a thread-specific data key.
Thread Cancellation Routines
Routine Description
pthread_cancel Allows a thread to request that it, or another
thread terminate execution.
pthread_cleanup_pop Removes a cleanup handler at the top of the
cleanup stack and optionally executes it.
pthread_cleanup_push Establishes a cleanup handler to be executed
when the thread exits or is canceled.
pthread_ Sets the current thread's cancelability state.
setcancelstate
pthread_ Sets the current thread's cancelability type.
setcanceltype
pthread_testcancel Requests delivery of any pending cancel to the
current thread.
Thread Priority and Scheduling Routines
Routine Description
pthread_ Obtains the current scheduling policy and
getschedparam scheduling parameters of a thread.
pthread_ Changes the current scheduling policy and
setschedparam scheduling parameters of a thread.
sched_yield Notifies the scheduler that the current thread
will release its processor to other threads of
the same or higher priority.
Non-Portable Extensions
Routine Description
Thread attribute pthread_attr_getguardsize_np
routines pthread_attr_setguardsize_np
Thread execution pthread_delay_np
routines pthread_getexpiration_np
pthread_getsequence_np
Mutex routines pthread_lock_global_np
pthread_unlock_global_np
Mutex attributes pthread_mutexattr_gettype_np
routines pthread_mutexattr_settype_np
Condition variable pthread_cond_signal_int_np
routines
Debugging support pthread_debug
routines pthread_debug_cmd