Having read a little and played a little with "pthreads," I really 
appreciate having TCLUG around to share my joy of learning. (Even if my 
freepascal code probably isn't so shareable.)

First, pthreads aren't really about threads. They are about interrupts. 
The "lightweight processes" called threads certainly make the forks, 
executes, and data sharing easy. But the 2 new semaphore types, mutexes, 
and conditional variables are something I was not aware of.

I explained to my poor wife how 2 threads are like 2 arms or 2 legs that 
share 1 brain. Each arm can have a great plan (algorithm) to grab the 
chainsaw, but they better cooperate or you might not return from the 
woods. The cooperative pthread tools are hard for an old guy to design 
with, so I'm hoping some agile minds simply consider learning something 
important.