package Demo1;
/**
* Created by Petty on 2017/4/9.
*/
public class Thread_1 extends Thread {
//提供一个有参数的构造器,用来设置该线程的名字
public Thread_1(String name){
super(name);
}
//重写run()方法,定义线程执行
public void run(){
for(int i=0;i<10;i++){
System.out.println(getName()+" "+i);
}
}
public static void main(String[] args) throws Exception{
//启动子线程
new Thread_1("新线程").start();
for(int i=0;i<10;i++){
if(i==5){
Thread_1 t1 = new Thread_1("被join的线程");
t1.start();
//main线程调用了t1线程的join()方法,main线程
//必须等t1执行结束才会向下执行
t1.join();
}
System.out.println(Thread.currentThread().getName());//输出当前正在执行的进程的名字
}
}
}
运行结果:
main
main
main
main
main
新线程 0
被join的线程 0
新线程 1
被join的线程 1
新线程 2
被join的线程 2
新线程 3
被join的线程 3
新线程 4
被join的线程 4
新线程 5
被join的线程 5
新线程 6
被join的线程 6
新线程 7
被join的线程 7
新线程 8
被join的线程 8
新线程 9
被join的线程 9
main
main
main
main
main