这一次,带你彻底搞懂join的用法
java多线程里的join,从字面意思来看是联合,合并的意思,但如果面试时这么回答,基本上可以断定面试者还没搞懂。 join究竟能干什么,今天给出一个最通俗的解释,那就是 在多线程环境下实现暂时以单线程执行,或者说在并行执行的环境中实现暂时以串行执行。 为了说明这个问题,我们看一段再常见不过的代码,代码内容是,让三个线程分布去打印一段内容 //代码块1 public class TestJoin { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(new DoSth()); Thread t2 = new Thread(new DoSth()); Thread t3 = new Thread(new DoSth()); t1.start(); t2.start(); t3.start(); System.out.println("主线程执行"); } } class DoSth implements Runnable { @Override public void run() { int n = 5; while (n > 0) { System.out.println(Thread.currentThread().getName()); try