I have to say I was a little confused from the start because of the statement that each thread was a complete interpreter. I "interpreted" that as each thread was actually a separate PROCESS, and that all this was hijacking threads as a metaphor for inter-process communication. So I wrote a test with five threads that each waited for 30 seconds and watched the activity monitor.  It reported one perl process with six threads, running for 30 seconds. End of Duh.<div>

<br></div><div>That also renders moot my question about "threads" surviving beyond the lifetime of the caller. Being real (OS) threads, that's not possible. Changing my test from join() to detach(), the threads die unexpected, untimely deaths as the process comes crashing down upon them.</div>