【面试:并发篇08:多线程: join 方法详解】
00.前言
如果有任何问题请指出,感谢。
01.为什么需要 join
join的理解:
join的目的是为了把调用join的线程“插队”到了当前线程,并且 调用join的线程一定会把此线程运行结束。
补充两个概念
同步:需要等待结果返回,才能继续运行就是同步
异步:不需要等待结果返回,就能继续运行就是异步
02.join的使用
分析这段代码 说明r的值
import lombok.extern.slf4j.Slf4j;
@Slf4j(topic = "c.Test10")
public class Test10 {
static int r = 0;
public static void main(String[] args) throws InterruptedException {
test1();
}
private static void test1() throws InterruptedException {
log.debug("开始");
Thread t1 = new Thread(() -> {
log.debug("开始");
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
log.debug