join() , 与 sleep()(不释放锁),wait()(释放锁) 方法都属于多线程运行控制常用方法.
join() 的作用类似与排队, 比如 ThreadA 调用了 ThreadB 的 join() 方法, 则 ThreadA 会进入阻塞状态, ThreadB 会一直运行, 知道 ThreadB 结束后 ThreadA 才会继续执行. 场景比如, 主线程需要等待子线程的运行结果进行汇总, 如果主线程先于子线程运行完成, 结果就会有误差, 所以需要在主线程中调用子线程的 join() 方法, 这样主线程就会等子线程运行完成后才会运行.
来源: http://www.bubuko.com/infodetail-3289900.html