Yes ofcourse. Any thread is just a piece of code which is run asynchronously. So whatever you are allowed to do in a normal program, you can do the same in the body of the thread also.
Infact, the main method itself is a thread and so any threads started by the main method is a classic example of one thread spawining another one.
Here is a small program I wrote to demonstrate this concept. Since the program is well documented, I will let you explore it. Note how the threads are created.
Thread1( Devil-1 ) --> Creates Thread2( Devil-2 )
Thread2( Devil-2 ) --> Creates Thread3( Devil-3 ) and so on till the room is full of Devils!!.... don't get scared
Hope this helps. Let me know if you still have any questions !!
Ajith