I am currently thinking about how to design a multithreading system in Java that needs to do some heavy network processing and database storage. The program will launch thre
To answer the question, yes threads can launch other threads.
Is the hierarchy important?
You're probably better off using an ExecutorService with a cached thread pool. That way you can pool threads instead of creating lots (which is expensive). ExecutorServices also provide other cool things, and using Callables / Runnables with them is probably much easier to test than mucking about with threads on your own.