101 lines
4.5 KiB
Plaintext
101 lines
4.5 KiB
Plaintext
These are the source files for the programming examples in
|
|
"Programming With POSIX(r) Threads". The Makefile is pre-configured
|
|
for Digital UNIX, but includes the appropriate definitions to build on
|
|
Solaris (uncomment the Solaris lines and comment the Digital UNIX
|
|
lines).
|
|
|
|
alarm.c Simple synchronous alarm clock
|
|
alarm_cond.c Threaded alarm clock using condition variable
|
|
alarm_fork.c Alarm clock using fork asychrony
|
|
alarm_mutex.c Threaded alarm clock using mutex
|
|
alarm_thread.c Alarm clock using thread asynchrony
|
|
atfork.c Demonstrate pthread_atfork()
|
|
backoff.c Demonstrate mutex hierarchy backoff
|
|
barrier.c Implementation of barrier package
|
|
barrier_main.c Demonstrate use of barrier package
|
|
cancel.c Demonstrate cancellation
|
|
cancel_async.c Demonstrate asyncronous cancellation
|
|
cancel_cleanup.c Demonstrate cancellation cleanup
|
|
cancel_disable.c Demonstrate disabling cancellation
|
|
cancel_subcontract.c Demonstrate cancellation of "subcontractors"
|
|
cond.c Demonstrate use of condition variables
|
|
cond_attr.c Demonstrate condition variable attributes
|
|
cond_dynamic.c Demonstrate dynamic init of condition variable
|
|
cond_static.c Demonstrate static init of condition variable
|
|
crew.c A simple threaded work crew
|
|
flock.c Demonstrate use of file locking
|
|
getlogin.c Demonstrate reentrant user functions
|
|
hello.c Demonstrate thread creation
|
|
inertia.c Demonstrate "thread inertia" errors
|
|
lifecycle.c Demonstrate "thread lifecycle"
|
|
mutex_attr.c Demonstrate mutex attributes
|
|
mutex_dynamic.c Demonstrate dynamic initialization of mutex
|
|
mutex_static.c Demonstrate static initialization of mutex
|
|
once.c Demonstrate use of pthread_once()
|
|
pipe.c A simple threaded pipeline
|
|
putchar.c Demonstrate thread-safe use of putchar()
|
|
rwlock.c Implementation of read/write lock package
|
|
rwlock_main.c Demonstrate use of read/write lock package
|
|
rwlock_try_main.c Demonstrate use of read/write lock package
|
|
sched_attr.c Demonstrate thread scheduling attributes
|
|
sched_thread.c Demonstrate use of thread scheduling functions
|
|
semaphore_signal.c Demonstrate use of semaphores with signals
|
|
semaphore_wait.c Demonstrate use of semaphores
|
|
server.c A simple threaded client/server program
|
|
sigev_thread.c Demonstrate use of SIGEV_THREAD mechanism
|
|
sigwait.c Demonstrate use of sigwait()
|
|
susp.c Demonstrate use of pthread_kill()
|
|
thread.c Demonstrate simple concurrent I/O
|
|
thread_attr.c Demonstrate thread attributes
|
|
thread_error.c Demonstrate POSIX thread error mechanism
|
|
trylock.c Demonstrate use of pthread_mutex_trylock()
|
|
tsd_destructor.c Demonstrate thread-specific data destructors
|
|
tsd_once.c Demonstrate thread-specific data key creation
|
|
workq.c Implementation of work queue package
|
|
workq_main.c Demonstrate use of work queue package
|
|
|
|
Header files:
|
|
|
|
barrier.h Definitions for barrier package
|
|
errors.h General headers and error macros
|
|
rwlock.h Definitions for read/write lock package
|
|
workq.h Definitions for work queue package
|
|
|
|
Programs with arguments or special behavior:
|
|
|
|
alarm, alarm_fork, The alarm programs will prompt for
|
|
alarm_thread, alarm_mutex, commands until terminated by ^D
|
|
alarm_cond (EOF). Commands are "<n> <s>" where <s>
|
|
(the remainder of the line) is a
|
|
message to print after <n> seconds.
|
|
atfork [hang] Run with an argument of 0 to omit
|
|
atfork handlers -- program will hang.
|
|
backoff [backoff [delay]] Run with first argument of 0, will not
|
|
back off on mutex collision, and will
|
|
usually hang. Second argument can be
|
|
specified greater than 0 to yield
|
|
(increasing chances of hang on
|
|
uniprocessor), or less than 0 to sleep
|
|
for a second.
|
|
crew string path First argument is a search string,
|
|
second is a file path.
|
|
flock Threads will prompt alternately for
|
|
input.
|
|
pipe Prompts for integers to feed to
|
|
pipeline; enter "=" to pop a result.
|
|
putchar [unsync] Run with argument of 0 to concurrently
|
|
call putchar_unlocked from multiple
|
|
threads.
|
|
server Threads each prompt for input, and
|
|
echo it 3 times -- server prevents
|
|
output while waiting for input.
|
|
sigwait Waits for 5 SIGINT signals (^C)
|
|
thread One thread writes to stdout while
|
|
another waits for input from
|
|
stdin. (Satisfy the read to exit.)
|
|
|
|
/---[ Dave Butenhof ]-----------------------[ butenhof@zko.dec.com ]---\
|
|
| Digital Equipment Corporation 110 Spit Brook Rd ZKO2-3/Q18 |
|
|
| 603.881.2218, FAX 603.881.0120 Nashua NH 03062-2698 |
|
|
\-----------------[ Better Living Through Concurrency ]----------------/
|