Programming with threads is useful for structuring programs, performance
enhancement through concurrency and overlapping I/O, and making
client/server interaction more efficient (it increases programming
complexity). Some things that need to be addressed when programming
with threads are:
Creation and management of threads.
Threads synchronization and communication.
Threads scheduling.
Error handling
A traditional non-threaded process has a single thread of
control, started and terminated with the process. Multi-threaded
programs require that threads be created and terminated explicitly.
The HP e3000 Kernel Threads provide basic thread creation and management routines.