线程的合并的含义:将各个并行的线程合并为一个单线程;
应用场景:当一个线程必须等待另一个线程执行完毕才能执行时,使用join方法;
package test;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Thread t1 = new MyThread1();
t1.start();
for(int i =0 ; i< 20 ; i++){
System.out.println("主线程第"+i+"次执行");
if(i>2){
try {
t1.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
class MyThread1 extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println("线程1第"+i
+"次执行");
}
}
}
运行结果:
主线程第0次执行
主线程第1次执行
主线程第2次执行
主线程第3次执行
线程1第0次执行
线程1第1次执行
线程1第2次执行
线程1第3次执行
线程1第4次执行
线程1第5次执行
线程1第6次执行
线程1第7次执行
线程1第8次执行
线程1第9次执行
主线程第4次执行
主线程第5次执行
主线程第6次执行
主线程第7次执行
主线程第8次执行
主线程第9次执行
主线程第10次执行
主线程第11次执行
主线程第12次执行
主线程第13次执行
主线程第14次执行
主线程第15次执行
主线程第16次执行
主线程第17次执行
主线程第18次执行
主线程第19次执行