Joins

The join method allows one thread to wait for the completion of another. If t is a Thread object whose thread is currently executing,

t.join();

causes the current thread to pause execution until t 's thread terminates. Overloads of join allow the programmer to specify a waiting period. However, as with sleep , join is dependent on the OS for timing, so you should not assume that join will wait exactly as long as you specify.

Like sleep , join responds to an interrupt by exiting with an InterruptedException .