哪条线程在调用t1.join()方法,哪条线程就会被阻塞,
而通常可以调用t1方法的线程就是创建t1的线程,即t1的父线程,
如果t1是在主函数里被创建的,那这条线程就是主线程
t1.join就相当于主线程自己被冻结,把这条线程让给了t1,什么时候t1跑完了,主线程才重新取得执行权,跑之后的代码
t1.start(); t2.start(); t1.join();
相当于t1自己有一条线程,t2自己也有一条线程,然后主线程把自己的线程让给了t1,
t1可以双线程执行它的代码,t2默默的继续跑着它自己的线程
如果用迅雷之类的下载器来理解的话,这时候t1的下载速度会是t2的两倍 |