Thread.join 方法 可以理解为将一个thread的task 加入到另一个thread中执行 。
例如:有两个thread t1 , t2 . 如果 在t2中调t1.join() 就会将t1的task加入到t2中执行。 而t2会等到t1的task都执行完了,才会继续执行自己的 。
public class ThreadJoinDemo {
public static void main(String[] args) {
final Thread thread0 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + " sdfsfds " + i);
}
}
});
final Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
try {
thread0.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + " sdfsfds " + i);
}
}
});
thread0.start();
thread1.start();
try {
thread1.join();
} catch (InterruptedException e) {
Thread.interrupted();
}
System.out.println(Thread.currentThread().getName());
}
}