JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Multithreaded Programming Guide
search filter icon
search icon

Document Information

Preface

1.  Covering Multithreading Basics

2.  Basic Threads Programming

3.  Thread Attributes

4.  Programming with Synchronization Objects

5.  Programming With the Solaris Software

6.  Programming With Solaris Threads

7.  Safe and Unsafe Interfaces

8.  Compiling and Debugging

9.  Programming Guidelines

A.  Extended Example: A Thread Pool Implementation

Index

Numbers and Symbols

A

B

C

D

E

F

G

I

J

K

L

M

N

P

R

S

T

U

V

W

X

S

SA_RESTART, Interrupted Waits on Condition Variables
safety, threads interfaces
Safe and Unsafe Interfaces
Unsafe Libraries
sched_yield, Deadlocks Related to Scheduling
return values, sched_yield Return Values
syntax, sched_yield Syntax
scheduling
classes, Thread Scheduling
policies, Thread Scheduling
scopes, Thread Scheduling
system class, LWPs and Scheduling Classes
scheduling class
fair share scheduler (FSS), Fair Share Scheduling
fixed priority scheduler (FX), Fixed Priority Scheduling
priority, LWPs and Scheduling Classes
realtime, Realtime Scheduling
timeshare, Timeshare Scheduling
scope, state, Thread Scheduling
sem_destroy
return values, sem_destroy Return Values
syntax, sem_destroy Syntax
sem_init
example, Producer and Consumer Problem Using Semaphores
return values, sem_init Return Values
sem_post, Synchronization With Semaphores
example, Producer and Consumer Problem Using Semaphores
return values, sem_post Return Values
syntax, sem_post Syntax
sem_trywait, Synchronization With Semaphores
return values, sem_trywait Return Values
syntax, sem_trywait Syntax
sem_wait, Synchronization With Semaphores
example, Producer and Consumer Problem Using Semaphores
return values, sem_wait Return Values
syntax, sem_wait Syntax
sema_destroy
return values, sema_destroy(3C) Return Values
syntax, sema_destroy(3C) Syntax
sema_init
return values, sema_init Return Values
syntax
sem_init Syntax
sema_init Syntax
USYNC_THREAD, Synchronizing Across Process Boundaries
sema_post, Async-Signal-Safe Functions in Solaris Threads
return values, sema_post Return Values
syntax, sema_post Syntax
sema_trywait
return values, sema_trywait Return Values
syntax, sema_trywait Syntax
sema_wait
return values, sema_wait Return Values
syntax, sema_wait Syntax
semaphores
Programming with Synchronization Objects
Synchronization With Semaphores
Comparing Primitives
binary, Synchronization With Semaphores
blocking calling thread, Blocking on a Semaphore Count
counting, Synchronization With Semaphores
counting, defined, Multithreading Terms
decrement semaphore value, Synchronization With Semaphores
decrementing count, Decrementing a Semaphore Count
destroying state, Destroying the Semaphore State
increment semaphore value, Synchronization With Semaphores
incrementing, Incrementing a Semaphore
initializing, Initializing a Semaphore
interprocess, sem_init Syntax
intraprocess, sem_init Syntax
named, Named and Unnamed Semaphores
unnamed, Named and Unnamed Semaphores
sending signal to thread, Sending a Signal to a Thread
sequential algorithms, Parallelizing a Loop on a Shared-Memory Parallel Computer
setjmp
Nonlocal Goto: setjmp and longjmp
Completion Semantics
Completion Semantics
setting thread-specific key binding, Setting Thread-Specific Data
shared data
User-Level Threads State
Data Locking
shared-memory multiprocessor, Shared-Memory Multiprocessors
SIG_DFL, Extending Traditional Signals
SIG_IGN, Extending Traditional Signals
SIG_SETMASK, pthread_sigmask Syntax
sigaction()
Extending Traditional Signals
Extending Traditional Signals
SIGFPE
Synchronous Signals
Completion Semantics
SIGILL, Synchronous Signals
SIGINT
Asynchronous Signals
Thread-Directed Signals
SIGIO, Asynchronous Signals
siglongjmp
Completion Semantics
Completion Semantics
Completion Semantics
signal(), Extending Traditional Signals
signal
handler
Extending Traditional Signals
Thread-Directed Signals
signal.h
thr_kill Syntax
thr_sigsetmask Syntax
signals
access mask, Access the Signal Mask of the Calling Thread
adding to mask, pthread_sigmask Syntax
asynchronous
Extending Traditional Signals
Asynchronous Signals
Thread-Directed Signals
deleting from mask, pthread_sigmask Syntax
inheritance, thr_create Syntax
masks, User-Level Threads State
pending
thr_continue Syntax
thr_create Syntax
replacing current mask, pthread_sigmask Syntax
sending to a thread, Sending a Signal to a Specific Thread
sending to thread
Sending a Signal to a Thread
Send a Signal to a Thread
SIG_BLOCK, pthread_sigmask Syntax
SIG_SETMASK, pthread_sigmask Syntax
SIG_UNBLOCK, pthread_sigmask Syntax
SIGSEGV, About Stacks
synchronous, Synchronous Signals
unmasked and caught, Interrupted Waits on Condition Variables
sigprocmask(), Setting the Thread's Signal Mask
sigqueue(), Extending Traditional Signals
SIGSEGV
About Stacks
Synchronous Signals
sigsend(), Extending Traditional Signals
sigsetjmp
Completion Semantics
Completion Semantics
sigtimedwait(), Waiting for Specified Signal Within a Given Time
sigwait()
Waiting for a Specified Signal
Thread-Directed Signals
sigwait, Completion Semantics
single-threaded
assumptions, Rethinking Global Variables
code, Mutual Exclusion Lock Attributes
defined, Multithreading Terms
processes, Process Creation: exec and exit Issues
singly-linked list, example, Examples of Using Nested Locking With a Singly-Linked List
singly-linked list with nested locking, example, Examples of Using Nested Locking With a Singly-Linked List
size of stack
Building Your Own Stack
pthread_attr_setstacksize Syntax
thr_create Syntax
Getting the Minimal Stack Size
spin locks, defined, Using Spin Locks
spurious wakeup, Interrupted Waits on Condition Variables
stack, Creating and Using Threads
address
pthread_attr_setstack(3C) Syntax
thr_create Syntax
boundaries, About Stacks
creation
pthread_attr_setstack(3C) Syntax
thr_create Syntax
custom, thr_min_stack Syntax
deallocation, thr_min_stack Syntax
minimum size, Building Your Own Stack
overflows, Allocating Stack Space for Threads
pointer, User-Level Threads State
programmer-allocated
Building Your Own Stack
thr_min_stack Syntax
thr_min_stack Syntax
red zone
Allocating Stack Space for Threads
thr_min_stack Syntax
returning a pointer to, MT Interface Safety Levels
size
Building Your Own Stack
pthread_attr_setstacksize Syntax
thr_create Syntax
stack_base
pthread_attr_setstack(3C) Syntax
thr_create Syntax
stack_size
pthread_attr_setstacksize Syntax
thr_create Syntax
stack size
finding minimum, Getting the Minimal Stack Size
minimum
Getting the Minimal Stack Size
thr_min_stack Syntax
standard I/O, Alternatives to getc and putc
standards, UNIX, Solaris Multithreading Libraries and Standards
start_routine(), thr_create Syntax
static storage, Rethinking Global Variables
store buffer, Peterson's Algorithm
storing thread key value, thr_getspecific Syntax
streaming a tape drive, Asynchronous I/O
strongly ordered memory, Shared-Memory Multiprocessors
suspending a new thread, thr_create Syntax
swap space, Allocating Stack Space for Threads
synchronization objects
condition variables
Programming with Synchronization Objects
Condition Variable Attributes
Producer and Consumer Problem
mutex locks
Programming with Synchronization Objects
Example of Nested Locking With a Circularly-Linked List
read-write locks, rwlock_destroy Syntax
semaphores
Programming with Synchronization Objects
Synchronization With Semaphores
Similar Synchronization Functions: Semaphores
Example of Producer and Consumer Problem
synchronous I/O, Asynchronous I/O
synchronous I/O, I/O as a Remote Procedure Call
synchronous signals, Synchronous Signals
system calls, handling errors, Rethinking Global Variables
system scheduling class, LWPs and Scheduling Classes