Go to main content

Multithreaded Programming Guide

Exit Print View

Updated: November 2020
 
 

Index

Numbers and Symbols

32-bit architecturesindex iconProgramming with Synchronization Objects
64-bit environment
/dev/kmemindex iconUsing the 64-bit Architecture
/dev/memindex iconUsing the 64-bit Architecture
/proc restrictionsindex iconUsing the 64-bit Architecture
data type modelindex iconUsing the 64-bit Architecture
large file supportindex iconUsing the 64-bit Architecture
large virtual address spaceindex iconUsing the 64-bit Architecture
libkvm libraryindex iconUsing the 64-bit Architecture
librariesindex iconUsing the 64-bit Architecture
registersindex iconUsing the 64-bit Architecture

A

accessing the signal maskindex iconAccessing the Signal Mask of the Calling Thread
Ada programming languageindex iconShowing Completion Semantics
adding signals to maskindex iconpthread_sigmask Syntax
aio_cancel() functionindex iconWaiting for I/O Operation to Complete
aio_error() functionindex iconWaiting for I/O Operation to Complete
aio_read() functionindex iconAsynchronous I/O Operations
aio_return() functionindex iconWaiting for I/O Operation to Complete
aio_suspend() functionindex iconWaiting for I/O Operation to Complete
aio_waitn() functionindex iconWaiting for I/O Operation to Complete
aio_write() functionindex iconAsynchronous I/O Operations
aiocbp control blockindex iconAsynchronous I/O Operations
alarmsindex iconUsing Alarms
algorithms
faster with MTindex iconUsing Multiprocessors Efficiently
parallelindex iconMultithreaded Cooperation Through Barrier Synchronization
sequentialindex iconMultithreaded Cooperation Through Barrier Synchronization
allocating storage from heap
mallocindex iconShowing a Simple Threads Program
alternative mmap-based memory allocation
thread-safe formindex iconMT Safety Levels for Libraries
application-level threadsindex iconMultithreading Terms
architecture
multiprocessorindex iconUnderlying Architecture
SPARC
index iconShowing Mutual Exclusion for Two Threads
index iconShared-Memory Multiprocessors
index iconProgramming with Synchronization Objects
assert statement
index iconTesting the Invariant With assert
index iconProducer in Producer and Consumer Problem With Condition Variables
index iconProducer in Producer and Consumer Problem With Condition Variables
Async-Signal-Safe
functions
Oracle Solarisindex iconAsync-Signal-Safe Functions in Oracle Solaris Threads
POSIXindex iconSignal Handlers and Async-Signal Safety
signal handlersindex iconSignal Handlers and Async-Signal Safety
threadsindex iconWaiting for a Specified Signal
asynchronous
event notificationindex iconCounting Semaphores Overview
I/Oindex iconAsynchronous I/O
semaphore useindex iconCounting Semaphores Overview
signals
index iconThread-Directed Signals
index iconAsynchronous Signals
index iconExtending Traditional Signals
asynchronous I/O
operationsindex iconAsynchronous I/O Operations
waiting forindex iconWaiting for I/O Operation to Complete
atomic, definedindex iconProgramming with Synchronization Objects
automatic
stack allocationindex iconAllocating Stack Space for Threads

B

barrier synchronization
index iconParallelizing a Loop on a Shared-Memory Parallel Computer
index iconUsing Barrier Synchronization
binary semaphoresindex iconSynchronization With Semaphores
binding
threads to LWPsindex iconthr_create Syntax
values to keyindex iconSetting the Thread-Specific Data Value
bottlenecksindex iconLocking Guidelines

C

caching
cache definedindex iconUnderlying Architecture
threads data structureindex iconCreating and Using Threads
cancelling threads
cancellation pointsindex iconCancellation Points
requestindex iconCancel a Thread
requestedindex iconThread Cancellation
changing the signal mask
index iconAccess the Signal Mask of the Calling Thread
index iconAccessing the Signal Mask of the Calling Thread
circularly-linked list
exampleindex iconShowing Nested Locking With a Circularly-Linked List
coarse-grained lockingindex iconData Locking
code lock
index iconInvariants and Locks
index iconReentrant Function
code monitor
index iconAvoiding Deadlock
index iconCode Locking
compare thread identifiersindex iconpthread_equal Syntax
compiling a multithreaded applicationindex iconCompiling a Multithreaded Application
completion semanticsindex iconCompletion Semantics
cond_broadcast() functionindex iconUnblock All Threads
cond_destroy() functionindex iconDestroying a Condition Variable
cond_init() function
index iconProducer and Consumer Problem
index iconInitialize a Condition Variable
USYNC_THREADindex iconSynchronizing Across Process Boundaries
cond_reltimedwait() functionindex iconWaiting for a Time Interval
cond_signal() functionindex iconUnblock One Thread
cond_timedwait() functionindex iconWait for an Absolute Time
cond_wait() functionindex iconWaiting for a Condition
condition variables
index iconProducer in Producer and Consumer Problem With Condition Variables
index iconCondition Variable Attributes
index iconProgramming with Synchronization Objects
blocking for specified timeindex iconBlocking For a Specified Interval
blocking onindex iconBlocking on a Condition Variable
blocking until specified timeindex iconBlocking Until a Specified Time
destroying stateindex iconDestroying the Condition Variable State
getting clock selectionindex iconGetting the Clock Selection Condition Variable
getting scopeindex iconGetting the Scope of a Condition Variable
initializingindex iconInitializing a Condition Variable
intializing attributesindex iconInitializing a Condition Variable Attribute
removing attributeindex iconRemoving a Condition Variable Attribute
setting clock selectionindex iconSetting the Clock Selection Condition Variable
setting scopeindex iconSetting the Scope of a Condition Variable
unblocking one threadindex iconUnblocking One Thread
unblocking threadsindex iconUnblocking All Threads
condition wait
POSIX threadsindex iconInterrupted Waits on Condition Variables
contention
index iconLocking Guidelines
index iconAvoiding Deadlock
continuing executionindex iconContinuing a Suspended Thread
counting semaphores
index iconSynchronization With Semaphores
index iconMultithreading Terms
creating
stacks
index iconthr_min_stack Syntax
index iconthr_create Syntax
index iconpthread_attr_setstack Syntax
index iconBuilding Your Own Stack
threadsindex iconCreating and Using Threads
creating a default threadindex iconCreating a Default Thread
critical sectionindex iconPeterson's Algorithm
custom stack
index iconthr_min_stack Syntax
index iconthr_min_stack Syntax
index iconBuilding Your Own Stack

D

daemon threadsindex iconthr_create Syntax
data
lock
index iconInvariants and Locks
index iconReentrant Function
races
index iconDetecting Data Races and Deadlocks Using Thread Analyzer
index iconCommon Oversights in Multithreaded Programs
index iconThread Safety
shared
index iconProducer and Consumer Problem: Shared Memory Multiprocessors
index iconUser-Level Threads State
thread-specificindex iconCreating a Key for Thread-Specific Data
dbx(1)index iconUsing dbx
dbx debuggerindex iconGetting the Minimal Stack Size
deadlock
definedindex iconAvoiding Deadlock
detectingindex iconDetecting Data Races and Deadlocks Using Thread Analyzer
recursiveindex iconAvoiding Deadlock
schedulingindex iconDeadlocks Related to Scheduling
debuggingindex iconDebugging a Multithreaded Program
asynchronous signalsindex iconCommon Oversights in Multithreaded Programs
dbx(1)index iconUsing dbx
dbxindex iconGetting the Minimal Stack Size
deadlocksindex iconCommon Oversights in Multithreaded Programs
dtraceindex iconTracing and Debugging With DTrace
hidden gap in synchronizationindex iconCommon Oversights in Multithreaded Programs
inadequate stack sizeindex iconCommon Oversights in Multithreaded Programs
large automatic arraysindex iconCommon Oversights in Multithreaded Programs
long-jumping without releasing mutex lockindex iconCommon Oversights in Multithreaded Programs
mdb(1)index iconUsing mdb
no synchronization of global memoryindex iconCommon Oversights in Multithreaded Programs
passing pointer to caller's stackindex iconCommon Oversights in Multithreaded Programs
recursive deadlockindex iconCommon Oversights in Multithreaded Programs
reevaluate conditions after return from condition waitindex iconCommon Oversights in Multithreaded Programs
deleting signals from maskindex iconpthread_sigmask Syntax
destroying an existing thread-specific data keyindex iconDeleting the Thread-Specific Data Key
detached threads
index iconthr_create Syntax
index iconpthread_attr_setdetachstate Syntax
Dijkstra, E. W.index iconSynchronization With Semaphores
dispatch priority
calculationindex iconTimeshare Scheduling
rangesindex iconLWPs and Scheduling Classes
DTraceindex iconTracing and Debugging With DTrace

E

errno
index iconShowing Global Variables With errno
index iconShowing Thread-Specific Data Is Global But Private
global variablesindex iconRethinking Global Variables
event notificationindex iconCounting Semaphores Overview
examining the signal mask
index iconAccess the Signal Mask of the Calling Thread
index iconAccessing the Signal Mask of the Calling Thread
example
thread poolindex iconExtended Example: A Thread Pool Implementation
exec() function
index iconProcess Creation: exec and exit Issues
index iconVirtual Forks – vfork
index iconFork-One Model
exit() functionindex iconProcess Creation: exec and exit Issues
exit functionindex iconthr_create Syntax

F

fair share scheduler (FSS) scheduling classindex iconFair Share Scheduling
finding thread priorityindex iconGet the Thread Priority
fine-grained lockingindex iconData Locking
fixed priority scheduling class (FX)index iconFixed Priority Scheduling
flags to thr_create functionindex iconthr_create Syntax
flockfile() functionindex iconAlternatives to getc and putc
fork() functionindex iconFork-All Model
fork1() function
index iconFork-All Model
index iconVirtual Forks – vfork
funlockfile() functionindex iconAlternatives to getc and putc

G

getc() functionindex iconAlternatives to getc and putc
getc_unlocked() functionindex iconAlternatives to getc and putc
gethostbyname() functionindex iconProviding for Static Local Variables
gethostbyname_r() functionindex icongethostbyname Problem
getrusage() functionindex iconResource Limits
getting thread-specific key bindingindex iconGetting Thread-Specific Data
global
dataindex iconData Locking
side effectsindex iconSome Basic Guidelines for Threaded Code
stateindex iconReentrant Function
variables
index iconRethinking Global Variables
index iconRethinking Global Variables
index iconShowing Global and Private Thread-Specific Data

I

I/O
asynchronousindex iconAsynchronous I/O
asynchronous and synchronousindex iconI/O as a Remote Procedure Call
nonsequentialindex iconShared I/O and New I/O System Calls
standardindex iconAlternatives to getc and putc
synchronousindex iconI/O as a Remote Procedure Call
inheriting priorityindex iconthr_create Syntax
initializing the mutexindex iconInitializing a Mutex
interruptindex iconExtending Traditional Signals
invariants
index iconInvariants and Locks
index iconProducer in Producer and Consumer Problem With Condition Variables

J

joining threads
index iconWait for Thread Termination
index iconpthread_attr_setdetachstate Syntax
index iconFinishing Up a Thread
index iconWaiting for Thread Termination

K

keys
binding value to keyindex iconSetting the Thread-Specific Data Value
storing value ofindex iconGetting the Thread-Specific Data Value
kill() function
index iconSending a Signal to a Specific Thread
index iconExtending Traditional Signals

L

libc libraryindex iconMT Safety Levels for Libraries
libC libraryindex iconMT Safety Levels for Libraries
libCrun libraryindex iconMT Safety Levels for Libraries
libCstd libraryindex iconMT Safety Levels for Libraries
libiostream libraryindex iconMT Safety Levels for Libraries
libm libraryindex iconMT Safety Levels for Libraries
libmalloc libraryindex iconMT Safety Levels for Libraries
libmapmalloc libraryindex iconMT Safety Levels for Libraries
libpthreadindex iconOracle Solaris Multithreading Libraries and Standards
libraries
C routinesindex iconRethinking Global Variables
MT-Safeindex iconMT Safety Levels for Libraries
libresolv libraryindex iconMT Safety Levels for Libraries
libthreadindex iconOracle Solaris Multithreading Libraries and Standards
libX11 libraryindex iconMT Safety Levels for Libraries
lightweight processes
debuggingindex iconUsing mdb
definedindex iconMultithreading Terms
scheduling classesindex iconLWPs and Scheduling Classes
limits, resourcesindex iconResource Limits
local variable
pointers andindex icongethostbyname Problem
lock hierarchyindex iconAvoiding Deadlock
lockingindex iconCode Locking
coarse grained
index iconLocking Guidelines
index iconData Locking
codeindex iconCode Locking
conditionalindex iconShowing Two Deadlock Scenarios
dataindex iconData Locking
fine-grained
index iconLocking Guidelines
index iconData Locking
guidelinesindex iconLocking Guidelines
invariantsindex iconInvariants and Locks
locks
mutual exclusion
index iconShowing Effect of Circular-Linked List Structure on Locks
index iconProgramming with Synchronization Objects
read-writeindex iconrwlock_destroy Syntax
readers/writerindex iconProgramming with Synchronization Objects
longjmp() function
index iconShowing Completion Semantics
index iconNonlocal Goto: setjmp and longjmp
lost wake-upindex iconLost Wake-Up Problem
lseek() functionindex iconShared I/O and New I/O System Calls
LWP definedindex iconMultithreading Terms

M

malloc() functionindex iconShowing a Simple Threads Program
MAP_NORESERVE parameterindex iconAllocating Stack Space for Threads
MAP_SHARED flagindex iconFork-All Model
math library
thread-safe formindex iconMT Safety Levels for Libraries
mdb(1)
index iconUsing mdb
index iconUsing mdb
memory
consistencyindex iconWorking With Multiprocessors
ordering, relaxedindex iconProducer and Consumer Problem: Shared Memory Multiprocessors
strongly orderedindex iconProducer and Consumer Problem: Shared Memory Multiprocessors
memory allocation
thread-safe formindex iconMT Safety Levels for Libraries
mmap() function
index iconFork-All Model
index iconAllocating Stack Space for Threads
monitor code
index iconAvoiding Deadlock
index iconCode Locking
mprotect functionindex iconthr_min_stack Syntax
MT-Safe libraries
C ++ runtime shared objects
for C++ 4.0 compilerindex iconMT Safety Levels for Libraries
C++ runtime shared objects
for C++ 5.0 compilerindex iconMT Safety Levels for Libraries
C++ standard library
for Oracle C++ 5.x compilersindex iconMT Safety Levels for Libraries
classic iostreams
for C++index iconMT Safety Levels for Libraries
thread-safe form of unsafe interfacesindex iconMT Safety Levels for Libraries
thread-specific errno supportindex iconMT Safety Levels for Libraries
X11 Windows routinesindex iconMT Safety Levels for Libraries
multiple-readers, single-writer locksindex iconrwlock_destroy Syntax
multiprocessorsindex iconWorking With Multiprocessors
multithreading definedindex iconMultithreading Terms
mutex
definedindex iconMultithreading Terms
mutual exclusion locksindex iconTesting the Invariant With assert
scopeindex iconSetting the Scope of a Mutex
mutex type
PTHREAD_MUTEX_ERRORCHECKindex iconpthread_mutex_lock Syntax
PTHREAD_MUTEX_NORMALindex iconpthread_mutex_lock Syntax
PTHREAD_MUTEX_RECUSIVEindex iconpthread_mutex_lock Syntax
mutex_destroy() functionindex iconDestroy a Mutex
mutex_init() function
index iconProducer and Consumer Problem
index iconInitialize a Mutex
USYNC_THREADindex iconSynchronizing Across Process Boundaries
mutex_lock() functionindex iconAcquiring a Mutex
mutex_trylock() functionindex iconTrying to Acquire a Mutex
mutex_unlock() functionindex iconReleasing a Mutex
mutual exclusion locks
index iconShowing Effect of Circular-Linked List Structure on Locks
index iconProgramming with Synchronization Objects
attributesindex iconpthread_mutexattr_init Syntax
deadlockindex iconExamples of Using Lock Hierarchies
default attributesindex iconMutual Exclusion Lock Attributes
destroying mutexindex iconDestroying a Mutex Attribute Object
destroying mutex stateindex iconDestroying a Mutex
getting mutex robust attributeindex iconGetting the Mutex's Robust Attribute
getting mutex scopeindex iconGetting the Scope of a Mutex
getting priority ceiling of mutexindex iconGetting the Mutex's Priority Ceiling
getting priority ceiling of mutex attributeindex iconGetting the Mutex Attribute's Priority Ceiling
getting protocol of mutex attributeindex iconGetting the Mutex Attribute's Protocol
initializingindex iconInitializing a Mutex
lockingindex iconLocking a Mutex
locking before specified timeindex iconLocking a Mutex Before a Specified Absolute Time
locking within time intervalindex iconLocking a Mutex Within a Specified Time Interval
making consistentindex iconMaking a Mutex Consistent
nonblock lockingindex iconLocking a Mutex Without Blocking
setting mutex robust attributeindex iconSetting the Mutex's Robust Attribute
setting priority ceiling of mutexindex iconSetting the Mutex's Priority Ceiling
setting priority ceiling of mutex attributeindex iconSetting the Mutex Attribute's Priority Ceiling
setting protocol of mutex attributeindex iconSetting the Mutex Attribute's Protocol
setting type attributeindex iconSetting the Mutex Type Attribute
unlockingindex iconUnlocking a Mutex

N

NDEBUG definedindex iconProducer in Producer and Consumer Problem With Condition Variables
nice value and class priorityindex iconTimeshare Scheduling
nonsequential I/Oindex iconShared I/O and New I/O System Calls
null threads
index iconthr_min_stack Syntax
index iconthr_min_stack Syntax
index iconBuilding Your Own Stack

P

parallel algorithmsindex iconMultithreaded Cooperation Through Barrier Synchronization
PC program counterindex iconUser-Level Threads State
PC_GETCID parameterindex iconLWPs and Scheduling Classes
PC_GETCLINFO parameterindex iconLWPs and Scheduling Classes
PC_GETPARMS parameterindex iconLWPs and Scheduling Classes
PC_SETPARMS parameterindex iconLWPs and Scheduling Classes
Performance Analyzerindex iconProfiling With Performance Analyzer
Peterson's Algorithmindex iconPeterson's Algorithm
PL/1 programming languageindex iconContinuation Semantics
portabilityindex iconProgramming with Synchronization Objects
pread() functionindex iconShared I/O and New I/O System Calls
printf() functionindex iconSignal Handlers and Async-Signal Safety
problemindex iconSynchronizing Threads
priocntl()
setting class priorityindex iconTimeshare Scheduling
priocntl() function
PC_GETCIDindex iconLWPs and Scheduling Classes
PC_GETCLINFOindex iconLWPs and Scheduling Classes
PC_GETPARMSindex iconLWPs and Scheduling Classes
PC_SETPARMSindex iconLWPs and Scheduling Classes
setting scheduling classindex iconLWPs and Scheduling Classes
priorityindex iconUser-Level Threads State
and schedulingindex iconRealtime Scheduling
inheritance
index iconGet the Thread Priority
index iconthr_create Syntax
rangeindex iconthr_setprio Syntax
scheduling andindex iconthr_setprio Syntax
setting for a threadindex iconSet the Thread Priority
priority inversionindex iconpthread_mutexattr_setprotocol Syntax
producer and consumer problem
index iconShared-Memory Multiprocessors
index iconSynchronizing in the Producer and Consumer Problem
index iconProducer and Consumer Problem Using Semaphores
producer/consumer problemindex iconProducer and Consumer Problem
profilingindex iconProfiling With Performance Analyzer
multithreaded programsindex iconProfiling a Multithreaded Program
programmer-allocated stack
index iconthr_min_stack Syntax
index iconthr_min_stack Syntax
index iconBuilding Your Own Stack
prolagen
decrease semaphore, P operationindex iconSynchronization With Semaphores
pthread_atfork() function
index iconSolution: pthread_atfork
index iconForking Safely
pthread_attr_destroy() functionindex iconDestroying Attributes
pthread_attr_getdetachstate() functionindex iconGetting the Detach State
pthread_attr_getguardsize() functionindex iconGetting the Stack Guard Size
pthread_attr_getinheritsched() functionindex iconGetting the Inherited Scheduling Policy
pthread_attr_getname_np() functionindex iconGetting the Thread Name Attribute
pthread_attr_getschedparam() functionindex iconGetting the Scheduling Parameters
pthread_attr_getschedpolicy() functionindex iconGetting the Scheduling Policy
pthread_attr_getscope() functionindex iconGetting the Scope
pthread_attr_getstack() functionindex iconGetting the Stack Address and Size
pthread_attr_getstacksize() functionindex iconGetting the Stack Size
pthread_attr_init() functionindex iconInitializing Attributes
pthread_attr_setdetachstate() functionindex iconSetting Detach State
pthread_attr_setguardsize() functionindex iconSetting the Stack Guard Size
pthread_attr_setinheritsched() functionindex iconSetting the Inherited Scheduling Policy
pthread_attr_setname_np() functionindex iconSetting the Thread Name Attribute
pthread_attr_setschedparam() functionindex iconSetting the Scheduling Parameters
pthread_attr_setschedpolicy() functionindex iconSetting the Scheduling Policy
pthread_attr_setscope() functionindex iconSetting the Scope
pthread_attr_setstack() functionindex iconSetting the Stack Address and Size
pthread_attr_setstacksize() functionindex iconSetting the Stack Size
pthread_barrier_destroy() functionindex iconDestroying a Synchronization Barrier
pthread_barrier_init() functionindex iconInitializing a Synchronization Barrier
pthread_barrier_wait() functionindex iconWaiting for Threads to Synchronize at a Barrier
pthread_barrier_wait functionindex iconpthread_barrier_wait Syntax
pthread_barrierattr_destroy() functionindex iconDestroying a Barrier Attributes Object
pthread_barrierattr_getpshared() functionindex iconGetting a Barrier Process-Shared Attribute
pthread_barrierattr_init() functionindex iconInitializing a Barrier Attributes Object
pthread_barrierattr_setpshared() functionindex iconSetting a Barrier Process-Shared Attribute
pthread_cancel() functionindex iconCancelling a Thread
pthread_cleanup_pop() functionindex iconPulling a Handler Off the Stack
pthread_cleanup_push() functionindex iconPushing a Handler Onto the Stack
pthread_cond_broadcast() function
index iconExtending Traditional Signals
index iconLost Wake-Up Problem
index iconUnblocking All Threads
index iconpthread_cond_wait Syntax
pthread_cond_destroy() function
index iconpthread_cond_destroy Syntax
index iconDestroying the Condition Variable State
pthread_cond_init() functionindex iconInitializing a Condition Variable
pthread_cond_reltimedwait_np() functionindex iconBlocking For a Specified Interval
pthread_cond_signal() function
index iconExtending Traditional Signals
index iconLost Wake-Up Problem
index iconUnblocking One Thread
index iconpthread_cond_wait Syntax
pthread_cond_signal functionindex iconProducer and Consumer Problem With Condition Variables
pthread_cond_timedwait() functionindex iconBlocking Until a Specified Time
pthread_cond_wait() function
index iconExtending Traditional Signals
index iconLost Wake-Up Problem
index iconUsing pthread_cond_wait and pthread_cond_signal
index iconBlocking on a Condition Variable
pthread_cond_wait functionindex iconProducer and Consumer Problem With Condition Variables
pthread_condattr_destroy() functionindex iconRemoving a Condition Variable Attribute
pthread_condattr_getclock() functionindex iconGetting the Clock Selection Condition Variable
pthread_condattr_getpshared() functionindex iconGetting the Scope of a Condition Variable
pthread_condattr_init() functionindex iconInitializing a Condition Variable Attribute
pthread_condattr_setclock() functionindex iconSetting the Clock Selection Condition Variable
pthread_condattr_setpshared() functionindex iconSetting the Scope of a Condition Variable
pthread_create() functionindex iconCreating a Default Thread
pthread_detach() functionindex iconDetaching a Thread
pthread_equal() functionindex iconComparing Thread IDs
pthread_exit() functionindex iconTerminating a Thread
pthread_getconcurrency() functionindex iconGetting the Thread Concurrency Level
pthread_getname_np() functionindex iconGetting the Thread Name
pthread_getschedparam() functionindex iconGetting the Thread Policy and Scheduling Parameters
pthread_getspecific() functionindex iconGetting Thread-Specific Data
pthread_join() function
index iconTamed Asynchrony
index iconAbout Stacks
index iconWaiting for Thread Termination
pthread_key_create() functionindex iconCreating a Key for Thread-Specific Data
pthread_key_delete() functionindex iconDeleting the Thread-Specific Data Key
pthread_kill() function
index iconSending a Signal to a Specific Thread
index iconSending a Signal to a Thread
pthread_mutex_consistent() functionindex iconMaking a Mutex Consistent
pthread_mutex_destroy function
index iconpthread_mutex_destroy Return Values
index iconpthread_mutex_destroy Syntax
pthread_mutex_getprioceiling() functionindex iconGetting the Mutex's Priority Ceiling
pthread_mutex_lock() functionindex iconLocking a Mutex
pthread_mutex_lock function
index iconShowing Effect of Circular-Linked List Structure on Locks
index iconPreventing Deadlock in a Singly-Linked List Structure
index iconCode Examples of Mutex Locking
pthread_mutex_setprioceiling() functionindex iconSetting the Mutex's Priority Ceiling
pthread_mutex_timedlock function
index iconpthread_mutex_reltimedlock_np Return Values
index iconpthread_mutex_reltimedlock_np Syntax
index iconpthread_mutex_timedlock Return Values
index iconpthread_mutex_timedlock Syntax
pthread_mutex_trylock() function
index iconAvoiding Deadlock
index iconLocking a Mutex Without Blocking
pthread_mutex_trylock functionindex iconShowing Instances of Conditional Locking
pthread_mutex_unlock() functionindex iconUnlocking a Mutex
pthread_mutex_unlock function
index iconShowing Effect of Circular-Linked List Structure on Locks
index iconPreventing Deadlock in a Singly-Linked List Structure
index iconCode Examples of Mutex Locking
pthread_mutexattr_destroy() functionindex iconDestroying a Mutex Attribute Object
pthread_mutexattr_getprioceiling() functionindex iconGetting the Mutex Attribute's Priority Ceiling
pthread_mutexattr_getprotocol() functionindex iconGetting the Mutex Attribute's Protocol
pthread_mutexattr_getpshared() functionindex iconGetting the Scope of a Mutex
pthread_mutexattr_getrobust() functionindex iconGetting the Mutex's Robust Attribute
pthread_mutexattr_gettype() functionindex iconGetting the Mutex Type Attribute
pthread_mutexattr_init() function
index iconpthread_mutexattr_init Return Values
index iconpthread_mutexattr_init Syntax
pthread_mutexattr_init() functionindex iconInitializing a Mutex
pthread_mutexattr_setprioceiling() functionindex iconSetting the Mutex Attribute's Priority Ceiling
pthread_mutexattr_setprotocol() functionindex iconSetting the Mutex Attribute's Protocol
pthread_mutexattr_setpshared() functionindex iconSetting the Scope of a Mutex
pthread_mutexattr_setrobust() functionindex iconSetting the Mutex's Robust Attribute
pthread_mutexattr_settype() functionindex iconSetting the Mutex Type Attribute
pthread_once() functionindex iconCalling an Initialization Routine for a Thread
PTHREAD_PRIO_INHERIT valueindex iconpthread_mutexattr_setprotocol Syntax
PTHREAD_PRIO_NONE valueindex iconpthread_mutexattr_setprotocol Syntax
PTHREAD_PRIO_PROTECT valueindex iconpthread_mutexattr_setprotocol Syntax
pthread_rwlock_destroy() functionindex iconDestroying a Read-Write Lock
pthread_rwlock_init() functionindex iconInitializing a Read-Write Lock
pthread_rwlock_rdlock() functionindex iconAcquiring the Read Lock on Read-Write Lock
pthread_rwlock_timedrdlock() functionindex iconAcquiring a Read Lock on a Read-Write Lock Before a Specified Absolute Time
pthread_rwlock_timedwrlock() functionindex iconAcquiring a Write Lock on a Read-Write Lock Before a Specified Absolute Time
pthread_rwlock_tryrdlock() functionindex iconAcquiring a Non-Blocking Read Lock on a Read-Write Lock
pthread_rwlock_tryrdlock functionindex iconpthread_rwlock_tryrdlock Syntax
pthread_rwlock_trywrlock() functionindex iconAcquiring a Non-blocking Write Lock on a Read-Write Lock
pthread_rwlock_trywrlock functionindex iconpthread_rwlock_trywrlock Syntax
pthread_rwlock_unlock() functionindex iconUnlocking a Read-Write Lock
pthread_rwlock_wrlock() functionindex iconAcquiring the Write Lock on a Read-Write Lock
pthread_rwlockattr_destroy() functionindex iconDestroying a Read-Write Lock Attribute
pthread_rwlockattr_getpshared() functionindex iconGetting a Read-Write Lock Attribute
pthread_rwlockattr_init() functionindex iconInitializing a Read-Write Lock Attribute
pthread_rwlockattr_setpshared() functionindex iconSetting a Read-Write Lock Attribute
PTHREAD_SCOPE_PROCESSindex iconThread Scheduling
PTHREAD_SCOPE_PROCESS constantindex iconSetting the Scope
PTHREAD_SCOPE_SYSTEMindex iconThread Scheduling
PTHREAD_SCOPE_SYSTEM constantindex iconSetting the Scope
pthread_self() functionindex iconGetting the Thread Identifier
pthread_setcancelstate() functionindex iconEnabling or Disabling Cancellation
pthread_setconcurrency() functionindex iconSetting the Thread Concurrency Level
pthread_setname_np() functionindex iconSetting the Thread Name
pthread_setschedparam() functionindex iconSetting the Thread Policy and Scheduling Parameters
pthread_setschedprio() functionindex iconSetting the Thread Priority
pthread_setspecific() functionindex iconSetting Thread-Specific Data
pthread_sigmask() function
index iconSetting the Thread's Signal Mask
index iconAccessing the Signal Mask of the Calling Thread
pthread_spin_destroy() functionindex iconDestroying a Spin Lock
pthread_spin_init() functionindex iconInitializing a Spin Lock
pthread_spin_lock() functionindex iconAcquiring a Spin Lock
pthread_spin_trylock() functionindex iconAcquiring a Non-Blocking Spin Lock
pthread_spin_unlock() functionindex iconUnlocking a Spin Lock
PTHREAD_STACK_MIN macroindex iconBuilding Your Own Stack
pthread_testcancel() function
index iconpthread_testcancel Syntax
index iconSetting Cancellation Type
putc() read()index iconAlternatives to getc and putc
putc_unlocked() functionindex iconAlternatives to getc and putc
pwrite() functionindex iconShared I/O and New I/O System Calls

R

read() functionindex iconShared I/O and New I/O System Calls
read-write locksindex iconrwlock_destroy Syntax
acquiring read lockindex iconAcquiring the Read Lock on Read-Write Lock
acquiring write lockindex iconpthread_rwlock_wrlock Syntax
attributesindex iconRead-Write Lock Attributes
destroyingindex iconDestroying a Read-Write Lock
destroying lock attributeindex iconDestroying a Read-Write Lock Attribute
getting lock attributeindex iconGetting a Read-Write Lock Attribute
initializing lock
index iconInitializing a Read-Write Lock
index iconpthread_rwlockattr_init Syntax
locking read lockindex iconAcquiring a Non-Blocking Read Lock on a Read-Write Lock
locking write lockindex iconpthread_rwlock_trywrlock Syntax
releasing read lockindex iconUnlocking a Read-Write Lock
setting lock attributeindex iconSetting a Read-Write Lock Attribute
readers/writer locksindex iconProgramming with Synchronization Objects
realtime
schedulingindex iconRealtime Scheduling
red zone
index iconthr_min_stack Syntax
index iconAllocating Stack Space for Threads
reentrantindex iconReentrant Function
describedindex iconReentrant Function
functions
index iconReentrant Functions for Unsafe Interfaces
index iconMT Interface Safety Levels
strategies for makingindex iconReentrant Function
register stateindex iconUser-Level Threads State
relaxed memory orderingindex iconProducer and Consumer Problem: Shared Memory Multiprocessors
remote procedure call RPCindex iconCombining Threads and RPC
replacing signal maskindex iconpthread_sigmask Syntax
resuming executionindex iconContinuing a Suspended Thread
RPC
index iconCreating and Using Threads
index iconCombining Threads and RPC
RT,  Seeindex iconrealtime
rw_rdlock() functionindex iconAcquiring a Read Lock
rw_tryrdlock() functionindex iconTrying to Acquire a Read Lock
rw_trywrlock() functionindex iconTrying to Acquire a Write Lock
rw_unlock() functionindex iconUnlock a Read-Write Lock
rw_wrlock() functionindex iconAcquiring a Write Lock
rwlock_destroy() functionindex iconDestroying the Read-Write Lock State
rwlock_init() functionindex iconInitialize a Read-Write Lock
USYNC_THREADindex iconSynchronizing Across Process Boundaries

S

SA_RESTARTindex iconInterrupted Waits on Condition Variables
safety, threads interfaces
index iconUnsafe Libraries
index iconSafe and Unsafe Interfaces
sched_yield() function
index iconDeadlocks Related to Scheduling
index iconYielding Thread Execution
scheduling
classesindex iconThread Scheduling
policiesindex iconThread Scheduling
scopesindex iconThread Scheduling
system classindex iconLWPs and Scheduling Classes
scheduling class
fair share scheduler (FSS)index iconFair Share Scheduling
fixed priority scheduler (FX)index iconFixed Priority Scheduling
priorityindex iconLWPs and Scheduling Classes
realtimeindex iconRealtime Scheduling
timeshareindex iconTimeshare Scheduling
scope stateindex iconThread Scheduling
sem_destroy() functionindex iconDestroying the Semaphore State
sem_init() function
index iconProducer and Consumer Problem Using Semaphores
index iconInitializing a Semaphore
sem_post() function
index iconIncrementing a Semaphore
index iconSynchronization With Semaphores
sem_trywait() function
index iconDecrementing a Semaphore Count
index iconSynchronization With Semaphores
sem_wait() function
index iconBlocking on a Semaphore Count
index iconSynchronization With Semaphores
sema_destroy() functionindex iconDestroy the Semaphore State
sema_init() functionindex iconInitialize a Semaphore
USYNC_THREADindex iconSynchronizing Across Process Boundaries
sema_post() function
index iconAsync-Signal-Safe Functions in Oracle Solaris Threads
index iconIncrement a Semaphore
sema_trywait() functionindex iconDecrement a Semaphore Count
sema_wait() functionindex iconBlock on a Semaphore Count
semaphores
index iconComparing Primitives
index iconSynchronization With Semaphores
index iconProgramming with Synchronization Objects
binaryindex iconSynchronization With Semaphores
blocking calling threadindex iconBlocking on a Semaphore Count
countingindex iconSynchronization With Semaphores
counting, definedindex iconMultithreading Terms
decrement semaphore valueindex iconSynchronization With Semaphores
decrementing countindex iconDecrementing a Semaphore Count
destroying stateindex iconDestroying the Semaphore State
increment semaphore valueindex iconSynchronization With Semaphores
incrementingindex iconIncrementing a Semaphore
initializingindex iconInitializing a Semaphore
interprocessindex iconInitializing Semaphores With Interprocess Scope
intraprocessindex iconInitializing Semaphores With Intraprocess Scope
namedindex iconNamed and Unnamed Semaphores
unnamedindex iconNamed and Unnamed Semaphores
sending signal to threadindex iconSending a Signal to a Thread
sequential algorithmsindex iconParallelizing a Loop on a Shared-Memory Parallel Computer
setjmp() function
index iconShowing Completion Semantics
index iconCompletion Semantics
index iconNonlocal Goto: setjmp and longjmp
setting thread-specific key bindingindex iconSetting Thread-Specific Data
shared data
index iconData Locking
index iconUser-Level Threads State
shared-memory multiprocessorindex iconProducer and Consumer Problem: Shared Memory Multiprocessors
SIG_DFL flagindex iconExtending Traditional Signals
SIG_IGN flagindex iconExtending Traditional Signals
SIG_SETMASK signalindex iconpthread_sigmask Syntax
sigaction() function
index iconExtending Traditional Signals
index iconExtending Traditional Signals
SIGFPE signal
index iconShowing Completion Semantics
index iconSynchronous Signals
SIGILL signalindex iconSynchronous Signals
SIGINT signal
index iconUsing sigwait With Asynchronous Signals
index iconAsynchronous Signals
SIGIO signalindex iconAsynchronous Signals
siglongjmp() functionindex iconShowing Completion Semantics
signal
handlerindex iconExtending Traditional Signals
signal handlerindex iconThread-Directed Signals
signal() functionindex iconExtending Traditional Signals
signal.h fileindex iconSend a Signal to a Thread
signals
access maskindex iconAccess the Signal Mask of the Calling Thread
adding to maskindex iconpthread_sigmask Syntax
asynchronous
index iconThread-Directed Signals
index iconAsynchronous Signals
index iconExtending Traditional Signals
deleting from maskindex iconpthread_sigmask Syntax
inheritanceindex iconthr_create Syntax
masksindex iconUser-Level Threads State
pending
index iconthr_create Syntax
index iconContinuing a Suspended Thread
replacing current maskindex iconpthread_sigmask Syntax
sending to a threadindex iconSending a Signal to a Specific Thread
sending to thread
index iconSend a Signal to a Thread
index iconSending a Signal to a Thread
SIG_BLOCKindex iconpthread_sigmask Syntax
SIG_SETMASKindex iconpthread_sigmask Syntax
SIG_UNBLOCKindex iconpthread_sigmask Syntax
SIGSEGVindex iconAbout Stacks
synchronousindex iconSynchronous Signals
unmasked and caughtindex iconInterrupted Waits on Condition Variables
sigprocmask() functionindex iconSetting the Thread's Signal Mask
sigqueue() functionindex iconExtending Traditional Signals
SIGSEGV signal
index iconSynchronous Signals
index iconAbout Stacks
sigsend() functionindex iconExtending Traditional Signals
sigsetjmp() functionindex iconShowing Completion Semantics
sigtimedwait() functionindex iconWaiting for Specified Signal Within a Given Time
sigwait()index iconThread-Directed Signals
sigwait() function
index iconShowing Completion Semantics
index iconWaiting for a Specified Signal
single-threaded
assumptionsindex iconRethinking Global Variables
codeindex iconMutual Exclusion Lock Attributes
definedindex iconMultithreading Terms
processesindex iconProcess Creation: exec and exit Issues
singly-linked list
exampleindex iconPreventing Deadlock in a Singly-Linked List Structure
singly-linked list with nested locking
exampleindex iconPreventing Deadlock in a Singly-Linked List Structure
size of stack
index iconGetting the Minimal Stack Size
index iconthr_create Syntax
index iconpthread_attr_setstacksize Syntax
index iconBuilding Your Own Stack
spin locks
definedindex iconUsing Spin Locks
spurious wakeupindex iconInterrupted Waits on Condition Variables
stackindex iconCreating and Using Threads
address
index iconthr_create Syntax
index iconpthread_attr_setstack Syntax
boundariesindex iconAbout Stacks
creation
index iconthr_create Syntax
index iconpthread_attr_setstack Syntax
customindex iconthr_min_stack Syntax
deallocationindex iconthr_min_stack Syntax
minimum sizeindex iconBuilding Your Own Stack
overflowsindex iconAllocating Stack Space for Threads
pointerindex iconUser-Level Threads State
programmer-allocated
index iconthr_min_stack Syntax
index iconthr_min_stack Syntax
index iconBuilding Your Own Stack
red zone
index iconthr_min_stack Syntax
index iconAllocating Stack Space for Threads
returning a pointer toindex iconMT Interface Safety Levels
size
index iconthr_create Syntax
index iconpthread_attr_setstacksize Syntax
index iconBuilding Your Own Stack
stack size
finding minimumindex iconGetting the Minimal Stack Size
minimumindex iconthr_min_stack Syntax
stack_base
index iconthr_create Syntax
index iconpthread_attr_setstack Syntax
stack_size
index iconthr_create Syntax
index iconpthread_attr_setstacksize Syntax
standard I/Oindex iconAlternatives to getc and putc
standards
UNIXindex iconOracle Solaris Multithreading Libraries and Standards
start_routine() functionindex iconthr_create Syntax
static storageindex iconRethinking Global Variables
store bufferindex iconShowing Mutual Exclusion for Two Threads
storing thread key valueindex iconGetting the Thread-Specific Data Value
streaming a tape driveindex iconAsynchronous I/O
strongly ordered memoryindex iconProducer and Consumer Problem: Shared Memory Multiprocessors
suspending a new threadindex iconthr_create Syntax
swap spaceindex iconAllocating Stack Space for Threads
synchronization objects
condition variables
index iconProducer in Producer and Consumer Problem With Condition Variables
index iconCondition Variable Attributes
index iconProgramming with Synchronization Objects
mutex locks
index iconShowing Effect of Circular-Linked List Structure on Locks
index iconProgramming with Synchronization Objects
read-write locksindex iconrwlock_destroy Syntax
semaphores
index iconProducer and Consumer Problem
index iconSimilar Synchronization Functions: Semaphores
index iconSynchronization With Semaphores
index iconProgramming with Synchronization Objects
synchronous I/O
asynchronous andindex iconI/O as a Remote Procedure Call
synchronous signalsindex iconSynchronous Signals
system calls
handling errorsindex iconRethinking Global Variables
system scheduling classindex iconLWPs and Scheduling Classes

T

tape drive, streamingindex iconAsynchronous I/O
THR_BOUND valueindex iconthr_create Syntax
thr_continue() functionindex iconContinuing a Suspended Thread
thr_continue functionindex iconthr_create Syntax
thr_create() functionindex iconCreating a Thread
thr_create functionindex iconthr_min_stack Syntax
THR_DAEMON valueindex iconthr_create Syntax
THR_DETACHED valueindex iconthr_create Syntax
thr_exit() functionindex iconTerminate a Thread
thr_exit functionindex iconthr_create Syntax
thr_getprio() functionindex iconGet the Thread Priority
thr_getspecific() functionindex iconGetting the Thread-Specific Data Value
thr_join() functionindex iconWait for Thread Termination
thr_keycreate() functionindex iconCreating a Thread-Specific Data Key
thr_kill() function
index iconAsync-Signal-Safe Functions in Oracle Solaris Threads
index iconSend a Signal to a Thread
thr_min_stack() functionindex iconGetting the Minimal Stack Size
thr_min_stack functionindex iconthr_create Syntax
thr_self() functionindex iconAcquiring the Thread Identifier
thr_setprio() functionindex iconSet the Thread Priority
thr_setspecific() functionindex iconSetting the Thread-Specific Data Value
thr_sigsetmask() function
index iconAsync-Signal-Safe Functions in Oracle Solaris Threads
index iconAccess the Signal Mask of the Calling Thread
thr_suspend() functionindex iconSuspending Thread Execution
thr_yield() functionindex iconYield Thread Execution
Thread Analyzerindex iconDetecting Data Races and Deadlocks Using Thread Analyzer
thread identifierindex iconpthread_self Syntax
thread lifecycleindex iconLifecycle of a Thread
thread local storageindex iconCreating a Key for Thread-Specific Data
thread pools
definedindex iconWhat Is a Thread Pool?
exampleindex iconExtended Example: A Thread Pool Implementation
thread synchronization
condition variablesindex iconThread Synchronization
mutex locksindex iconThread Synchronization
mutual exclusion locksindex iconMutual Exclusion Lock Attributes
read-write locksindex iconRead-Write Lock Attributes
read/write locksindex iconThread Synchronization
semaphores
index iconSynchronization With Semaphores
index iconThread Synchronization
thread-directed signalindex iconThread-Directed Signals
thread-private storageindex iconUser-Level Threads State
thread-specific dataindex iconCreating a Key for Thread-Specific Data
exampleindex iconShowing Global and Private Thread-Specific Data
gettingindex iconGetting the Thread-Specific Data Value
global into privateindex iconShowing Thread-Specific Data Is Global But Private
new storage classindex iconShowing Global Variables With errno
settingindex iconSetting the Thread-Specific Data Value
thread-specific keys
creating
index iconCreating a Thread-Specific Data Key
index iconCreating a Key for Thread-Specific Data
threads
acquiring identifiersindex iconAcquiring the Thread Identifier
cancelling
index iconCancelling a Thread
index iconCancel a Thread
index iconThread Cancellation
creating
index iconCreating and Using Threads
index iconthr_create Return Values
index iconCreating a Thread
daemonindex iconthr_create Syntax
detached
index iconthr_create Syntax
index iconpthread_attr_setdetachstate Syntax
identifiersindex iconthr_create Syntax
joiningindex iconWait for Thread Termination
keysindex iconSetting the Thread-Specific Data Value
null
index iconthr_min_stack Syntax
index iconthr_min_stack Syntax
index iconBuilding Your Own Stack
priorityindex iconthr_create Syntax
safety
index iconUnsafe Libraries
index iconThread Safety
sending signal toindex iconSend a Signal to a Thread
signalsindex iconInterrupted Waits on Condition Variables
stackindex iconMT Interface Safety Levels
suspendedindex iconContinuing a Suspended Thread
suspendingindex iconthr_create Syntax
synchronization modelsindex iconThread Synchronization
synchronizing
index iconComparing Primitives
index iconProgramming with Synchronization Objects
terminating
index iconTerminate a Thread
index iconTerminating a Thread
thread-specific dataindex iconShowing Global Variables With errno
user-level
index iconUser-Level Threads
index iconMultithreading Terms
yielding executionindex iconYield Thread Execution
threads definedindex iconMultithreading Terms
time-out
exampleindex iconpthread_cond_timedwait Return Values
timer
per LWPindex iconUsing Timers
timeshare scheduling classindex iconTimeshare Scheduling
tools
dbx(1)index iconUsing dbx
dbxindex iconGetting the Minimal Stack Size
Dtraceindex iconTracing and Debugging With DTrace
mdb(1)index iconUsing mdb
Performance Analyzerindex iconProfiling With Performance Analyzer
Thread Analyzerindex iconDetecting Data Races and Deadlocks Using Thread Analyzer
total store orderindex iconShowing Mutual Exclusion for Two Threads
trap
default actionindex iconSynchronous Signals
handled by threadindex iconSynchronous Signals
TS  Seeindex icontimeshare scheduling class

U

/usr/include/errno.hindex iconPreparing for Compilation
/usr/include/limits.hindex iconPreparing for Compilation
/usr/include/pthread.hindex iconPreparing for Compilation
/usr/include/signal.hindex iconPreparing for Compilation
/usr/include/thread.hindex iconPreparing for Compilation
/usr/include/unistd.hindex iconPreparing for Compilation
unbound threads
cachingindex iconCreating and Using Threads
unsafe interfaces
thread-safe formindex iconMT Safety Levels for Libraries
user-level threads
index iconUser-Level Threads
index iconMultithreading Terms
USYNC_PROCESS
condition variableindex iconcond_init Syntax
mutexindex iconmutex_init Syntax
read-write lockindex iconrwlock_init Syntax
semaphoreindex iconsema_init Syntax
USYNC_PROCESS valueindex iconProducer and Consumer Problem
USYNC_PROCESS_ROBUST
mutexindex iconmutex_init Syntax
USYNC_THREAD
condition variableindex iconcond_init Syntax
semaphoreindex iconsema_init Syntax
USYNC_THREAD value
mutexindex iconmutex_init Syntax
read-write lockindex iconrwlock_init Syntax

V

variables
condition
index iconComparing Primitives
index iconProducer in Producer and Consumer Problem With Condition Variables
index iconCondition Variable Attributes
index iconProgramming with Synchronization Objects
globalindex iconRethinking Global Variables
primitiveindex iconProgramming with Synchronization Objects
verhogen
increase semaphore, V operationindex iconSynchronization With Semaphores
vfork() functionindex iconVirtual Forks – vfork

W

write() functionindex iconShared I/O and New I/O System Calls