That depends. Do you need just a block of the parent thread that you control to finish before the child runs? If so, you are best off using one of the locking mechanisms (synchronized() or java.util.concurrent locks).
If you want the entire parent thread to die then you would pass a reference of the parent thread to the child and you call join on it.
posted 9 years ago
What about trying to start the child thread after the parent has done it's job? You could put a call to the start() method as the last statement in the parent's run() code.