JDK 5 introduced a lot of cool new stuff for concurrency. It's based on Doug Lea's work; google for his name to find his site, books etc for a good background. I found the JavaDoc more accessible than his writing, but that might only be me.
I've had an idea for years for a project that requires multiple pipelines with all lines and all nodes in each line running on threads. The new BlockingQueue seems tailor made for passing tasks from one node to the next. Maybe I'll give it a try one day.
The JavaDoc for BlockingQueue and Excutor will get you a long ways into the concurrency package.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi