때로는 다른 스레드로부터 결과를 받아야 할 때가 있는데 스레드는 실행 순서와 상관없이 결과가 출력되므로 코드들 나중에 작성해도 먼저 출력되기도 한다.
따라서 결과가 나올 때까지 기다리게 할 필요가 있었는데 이를 가능하게 해주는 것이 join() 메서드다.
게다가 sleep()과 달리 무작정 기다리지 않고 작업이 완료되는 시간을 안 맞춰도 된다.
괄호 안에 mils 단위의 숫자를 넣어 특정 시간만큼 대기한 후 그 안의 완료가 안 되면 호출한 스레드는 다음 코드로 넘어가게 할 수도 있다.
물론 이떄는 예외 처리를 해주어야 하고 스레드의 상태도 waiting이 아닌 timed waiting이다.