这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟 悉。这个多线程问题比较简单,可以用 join 方法实现。
public class JoinTestSync {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
ThreadJoinTest1 t1 = new ThreadJoinTest1("今天");
ThreadJoinTest1 t2 = new ThreadJoinTest1("明天");
ThreadJoinTest1 t3 = new ThreadJoinTest1("后天");
/*
* 通过join方法来确保t1、t2、t3的执行顺序
* */
t1.start();
t1.join();
t2.start();
t2.join();
t3.start();
t3.join();
}
}
class ThreadJoinTest1 extends Thread{
public ThreadJoinTest1(String name){
super(name);
}
@Override
public void run(){
for(int i=0;i<5;i++){
System.out.println(this.getName() + ":" + i);
}
}
}