哈喽,小伙伴们,大家好。今天给大家分享的是join方法的应用。因为join方法比较重要,所以就实际应用一下。当然,该程序主要是为了讲解join的作用。所以比较简单。好了 ,废话不多说,直奔主题。
题目
按顺序执行三个线程。比如A线程和B线程和C线程,这三个线程执行之后,输出ABC。
分析
我们首先要清楚join这个方法,不清楚的,可以去我的另外一篇博客查看。Thread重要的API—下—join方法,他的作用是join 某个线程 A,会使当前线程 B 进入等待,直到线程 A 结束生命周期,或者到达给定的时间,那么在此期间 B 线程是处于 Blocked 的。我们可以看出,join的作用就是让一个线程先执行,然后在执行其他线程。所以我们可以在线程的执行单元(run方法)里面,去调用其他线程的join方法,这样该线程就会等待其他线程执行完毕再执行。我们的目的就达到了。代码如下:
public static void main(String[] args) throws InterruptedException {
Thread t1=new Thread(() ->{
System.out.println(1);
}
);
Thread t2=new Thread(() ->{
try {
t1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(2);
}
);
Thread t3=new Thread(() ->{
try {
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(3);
}
);
t2.start();
t3.start();
t1.start();
}
总结:
该代码章节主要是为了让大家清楚join方法的含义,这个例子比较通俗易懂。也很简单,下一章节,会深入一点去讲解。好了,本节到此结束,谢谢大家的喜欢。