The author said " A parent thread can use this method to wait for its child thread to complete before continuing, ie. the parent thread waits for the child thread to join it after completion" This is the cutest explanation of this method name I can find. Please note join() waits for the thread to die before the calling Thread can proceed; no argument or an argument of 0 millisecond to method join indicates that the current Thread will wait forever for the target thread to die before the calling Thread proceeds. This can lead to deadlock. Please also note join throws InterruptedException (the same with sleep() and wait()) and must be caught or declared.