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.