Thread 中的 join() 方法的作用是调用线程等待该线程运行完后,再继续运行
例子:
//
public class JoinTest {
//
public static void main(String[] a){
System.out.println("main thread start");
Thread t1 = new Thread(new Worker("worker-1"));
Thread t2 = new Thread(new Worker("worker-2"));
t1.start();
t2.start();
// 注意,要在 t1、t2 都启动后,再运行 t1、t2 的 join
try{
t1.join();
}catch(InterruptedException e){
e.printStackTrace();
}
try{
t2.join();
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("main thread end");
}
}
class Worker implements Runnable{
private String name;
public Worker(String name){
this.name = name;
}
//
public void run(){
for(int i = 0; i < 5; i++){
try {
Thread.sleep(1L);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println(name);
}
}
}
参考: blog.csdn.net/wangshuminjava/article/details/86698916