From bee3887d1db094595cd3935964c1f13163989f17 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 9 Sep 2020 16:13:43 +0800 Subject: [PATCH] refractor --- ...urrencyAdvancedCommonInterviewQuestions.md | 257 +++++++++++++----- ...cyBasicsCommonInterviewQuestionsSummary.md | 2 +- .../synchronized关键字.png | Bin 0 -> 159155 bytes 3 files changed, 187 insertions(+), 72 deletions(-) create mode 100644 docs/java/Multithread/images/interview-questions/synchronized关键字.png diff --git a/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md b/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md index 97cc51d8..28961abf 100644 --- a/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md +++ b/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md @@ -1,65 +1,61 @@ 点击关注[公众号](#公众号)及时获取笔主最新更新文章,并可免费领取本文档配套的《Java面试突击》以及Java工程师必备学习资源。 - - -- [Java 并发进阶常见面试题总结](#java-并发进阶常见面试题总结) - - [1. synchronized 关键字](#1-synchronized-关键字) - - [1.1. 说一说自己对于 synchronized 关键字的了解](#11-说一说自己对于-synchronized-关键字的了解) - - [1.2. 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗](#12-说说自己是怎么使用-synchronized-关键字在项目中用到了吗) - - [1.3. 讲一下 synchronized 关键字的底层原理](#13-讲一下-synchronized-关键字的底层原理) - - [1.4. 说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗](#14-说说-jdk16-之后的synchronized-关键字底层做了哪些优化可以详细介绍一下这些优化吗) - - [1.5. 谈谈 synchronized和ReentrantLock 的区别](#15-谈谈-synchronized和reentrantlock-的区别) - - [2. volatile关键字](#2-volatile关键字) - - [2.1. 讲一下Java内存模型](#21-讲一下java内存模型) - - [2.2. 说说 synchronized 关键字和 volatile 关键字的区别](#22-说说-synchronized-关键字和-volatile-关键字的区别) - - [3. ThreadLocal](#3-threadlocal) - - [3.1. ThreadLocal简介](#31-threadlocal简介) - - [3.2. ThreadLocal示例](#32-threadlocal示例) - - [3.3. ThreadLocal原理](#33-threadlocal原理) - - [3.4. ThreadLocal 内存泄露问题](#34-threadlocal-内存泄露问题) - - [4. 线程池](#4-线程池) - - [4.1. 为什么要用线程池?](#41-为什么要用线程池) - - [4.2. 实现Runnable接口和Callable接口的区别](#42-实现runnable接口和callable接口的区别) - - [4.3. 执行execute()方法和submit()方法的区别是什么呢?](#43-执行execute方法和submit方法的区别是什么呢) - - [4.4. 如何创建线程池](#44-如何创建线程池) - - [5. Atomic 原子类](#5-atomic-原子类) - - [5.1. 介绍一下Atomic 原子类](#51-介绍一下atomic-原子类) - - [5.2. JUC 包中的原子类是哪4类?](#52-juc-包中的原子类是哪4类) - - [5.3. 讲讲 AtomicInteger 的使用](#53-讲讲-atomicinteger-的使用) - - [5.4. 能不能给我简单介绍一下 AtomicInteger 类的原理](#54-能不能给我简单介绍一下-atomicinteger-类的原理) - - [6. AQS](#6-aqs) - - [6.1. AQS 介绍](#61-aqs-介绍) - - [6.2. AQS 原理分析](#62-aqs-原理分析) - - [6.2.1. AQS 原理概览](#621-aqs-原理概览) - - [6.2.2. AQS 对资源的共享方式](#622-aqs-对资源的共享方式) - - [6.2.3. AQS底层使用了模板方法模式](#623-aqs底层使用了模板方法模式) - - [6.3. AQS 组件总结](#63-aqs-组件总结) - - [7 Reference](#7-reference) - - - # Java 并发进阶常见面试题总结 -## 1. synchronized 关键字 +## 1.synchronized 关键字 -### 1.1. 说一说自己对于 synchronized 关键字的了解 +![](images/interview-questions/synchronized关键字.png) -synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 +### 1.1.说一说自己对于 synchronized 关键字的了解 -另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的切换时需要从用户态转换到内核态,这个状态之间的转换需要相对比较长的时间,时间成本相对较高,这也是为什么早期的 synchronized 效率低的原因。庆幸的是在 Java 6 之后 Java 官方对从 JVM 层面对synchronized 较大优化,所以现在的 synchronized 锁效率也优化得很不错了。JDK1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 +**`synchronized` 关键字解决的是多个线程之间访问资源的同步性,`synchronized`关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。** + +另外,在 Java 早期版本中,`synchronized` 属于 **重量级锁**,效率低下。 + +**为什么呢?** + +因为监视器锁(monitor)是依赖于底层的操作系统的 `Mutex Lock` 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的切换时需要从用户态转换到内核态,这个状态之间的转换需要相对比较长的时间,时间成本相对较高。 + +庆幸的是在 Java 6 之后 Java 官方对从 JVM 层面对synchronized 较大优化,所以现在的 synchronized 锁效率也优化得很不错了。JDK1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 + +所以,你会发现目前的话,不论是各种开源框架还是JDK源码都大量使用了 synchronized 关键字。 -### 1.2. 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 +### 1.2. 说说自己是怎么使用 synchronized 关键字 **synchronized关键字最主要的三种使用方式:** -- **修饰实例方法:** 作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁 -- **修饰静态方法:** 也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份)。所以如果一个线程 A 调用一个实例对象的非静态 synchronized 方法,而线程 B 需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,**因为访问静态 synchronized 方法占用的锁是当前类的锁,而访问非静态 synchronized 方法占用的锁是当前实例对象锁**。 -- **修饰代码块:** 指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。 +**1.修饰实例方法:** 作用于当前对象实例加锁,进入同步代码前要获得 **当前对象实例的锁** -**总结:** synchronized 关键字加到 static 静态方法和 synchronized(class)代码块上都是是给 Class 类上锁。synchronized 关键字加到实例方法上是给对象实例上锁。尽量不要使用 synchronized(String a) 因为JVM中,字符串常量池具有缓存功能! +```java +synchronized void method() { + //业务代码 +} +``` -下面我以一个常见的面试题为例讲解一下 synchronized 关键字的具体使用。 +**2.修饰静态方法:** 也就是给当前类加锁,会作用于类的所有对象实例 ,进入同步代码前要获得 **当前 class 的锁**。因为静态成员不属于任何一个实例对象,是类成员( *static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份*)。所以,如果一个线程 A 调用一个实例对象的非静态 `synchronized` 方法,而线程 B 需要调用这个实例对象所属类的静态 `synchronized` 方法,是允许的,不会发生互斥现象,**因为访问静态 `synchronized` 方法占用的锁是当前类的锁,而访问非静态 `synchronized` 方法占用的锁是当前实例对象锁**。 + +```java +synchronized void staic method() { + //业务代码 +} +``` + +**3.修饰代码块** :指定加锁对象,对给定对象/类加锁。`synchronized(this|object)` 表示进入同步代码库前要获得**给定对象的锁**。`synchronized(类.class)` 表示进入同步代码前要获得 **当前 class 的锁** + +```java +synchronized(this) { + //业务代码 +} +``` + +**总结:** + +- `synchronized` 关键字加到 `static` 静态方法和 `synchronized(class)` 代码块上都是是给 Class 类上锁。 +- `synchronized` 关键字加到实例方法上是给对象实例上锁。 +- 尽量不要使用 `synchronized(String a) ` 因为JVM中,字符串常量池具有缓存功能! + +下面我以一个常见的面试题为例讲解一下 `synchronized` 关键字的具体使用。 面试中面试官经常会说:“单例模式了解吗?来给我手写一下!给我解释一下双重检验锁方式实现单例模式的原理呗!” @@ -87,17 +83,23 @@ public class Singleton { } } ``` -另外,需要注意 uniqueInstance 采用 volatile 关键字修饰也是很有必要。 +另外,需要注意 `uniqueInstance` 采用 `volatile` 关键字修饰也是很有必要。 -uniqueInstance 采用 volatile 关键字修饰也是很有必要的, uniqueInstance = new Singleton(); 这段代码其实是分为三步执行: +`uniqueInstance` 采用 `volatile` 关键字修饰也是很有必要的, `uniqueInstance = new Singleton();` 这段代码其实是分为三步执行: -1. 为 uniqueInstance 分配内存空间 -2. 初始化 uniqueInstance -3. 将 uniqueInstance 指向分配的内存地址 +1. 为 `uniqueInstance` 分配内存空间 +2. 初始化 `uniqueInstance` +3. 将 `uniqueInstance` 指向分配的内存地址 -但是由于 JVM 具有指令重排的特性,执行顺序有可能变成 1->3->2。指令重排在单线程环境下不会出现问题,但是在多线程环境下会导致一个线程获得还没有初始化的实例。例如,线程 T1 执行了 1 和 3,此时 T2 调用 getUniqueInstance() 后发现 uniqueInstance 不为空,因此返回 uniqueInstance,但此时 uniqueInstance 还未被初始化。 +但是由于 JVM 具有指令重排的特性,执行顺序有可能变成 1->3->2。指令重排在单线程环境下不会出现问题,但是在多线程环境下会导致一个线程获得还没有初始化的实例。例如,线程 T1 执行了 1 和 3,此时 T2 调用 `getUniqueInstance`() 后发现 `uniqueInstance` 不为空,因此返回 `uniqueInstance`,但此时 `uniqueInstance` 还未被初始化。 -使用 volatile 可以禁止 JVM 的指令重排,保证在多线程环境下也能正常运行。 +使用 `volatile` 可以禁止 JVM 的指令重排,保证在多线程环境下也能正常运行。 + +### 1.3. 构造方法可以使用 synchronized 关键字修饰么? + +先说结论:**构造方法不能使用 synchronized 关键字修饰。** + +构造方法本身就属于线程安全的,不存在同步的构造方法一说。 ### 1.3. 讲一下 synchronized 关键字的底层原理 @@ -116,13 +118,15 @@ public class SynchronizedDemo { ``` -通过 JDK 自带的 javap 命令查看 SynchronizedDemo 类的相关字节码信息:首先切换到类的对应目录执行 `javac SynchronizedDemo.java` 命令生成编译后的 .class 文件,然后执行`javap -c -s -v -l SynchronizedDemo.class`。 +通过 JDK 自带的 `javap` 命令查看 `SynchronizedDemo` 类的相关字节码信息:首先切换到类的对应目录执行 `javac SynchronizedDemo.java` 命令生成编译后的 .class 文件,然后执行`javap -c -s -v -l SynchronizedDemo.class`。 ![synchronized关键字原理](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/synchronized关键字原理.png) 从上面我们可以看出: -**synchronized 同步语句块的实现使用的是 monitorenter 和 monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。** 当执行 monitorenter 指令时,线程试图获取锁也就是获取 monitor(monitor对象存在于每个Java对象的对象头中,synchronized 锁便是通过这种方式获取锁的,也是为什么Java中任意对象可以作为锁的原因) 的持有权。当计数器为0则可以成功获取,获取后将锁计数器设为1也就是加1。相应的在执行 monitorexit 指令后,将锁计数器设为0,表明锁被释放。如果获取对象锁失败,那当前线程就要阻塞等待,直到锁被另外一个线程释放为止。 +**`synchronized` 同步语句块的实现使用的是 `monitorenter` 和 `monitorexit` 指令,其中 `monitorenter` 指令指向同步代码块的开始位置,`monitorexit` 指令则指明同步代码块的结束位置。** + +当执行 `monitorenter` 指令时,线程试图获取锁也就是获取 monitor(monitor对象存在于每个Java对象的对象头中,synchronized 锁便是通过这种方式获取锁的,也是为什么Java中任意对象可以作为锁的原因) 的持有权。当计数器为0则可以成功获取,获取后将锁计数器设为1也就是加1。相应的在执行 monitorexit 指令后,将锁计数器设为0,表明锁被释放。如果获取对象锁失败,那当前线程就要阻塞等待,直到锁被另外一个线程释放为止。 **② synchronized 修饰方法的的情况** @@ -173,33 +177,53 @@ synchronized 是依赖于 JVM 实现的,前面我们也讲到了 虚拟机团 ## 2. volatile关键字 -### 2.1. 讲一下Java内存模型 +我们先要从 **CPU缓存模型** 说起! +### 2.1. CPU缓存模型 -在 JDK1.2 之前,Java的内存模型实现总是从**主存**(即共享内存)读取变量,是不需要进行特别的注意的。而在当前的 Java 内存模型下,线程可以把变量保存**本地内存**(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成**数据的不一致**。 +**为什么要弄一个CPU高速缓存呢?** -![数据不一致](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/数据不一致.png) +类比我们开发网站后台系统使用的缓存(比如 Redis)是为了解决程序处理速度和访问常规关系型数据库速度不对等的问题。 **CPU缓存则是为了解决CPU处理速度和内存处理速度不对等的问题。** -要解决这个问题,就需要把变量声明为**volatile**,这就指示 JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。 +我们甚至可以把 **内存可以看作外存的高速缓存**,程序运行的时候我们把外存的数据复制到内存,由于内存的处理速度远远高于外存,这样提高了处理速度。 -说白了, **volatile** 关键字的主要作用就是保证变量的可见性然后还有一个作用是防止指令重排序。 +总结:**CPU Cache 缓存的是内存数据用于解决CPU处理速度和内存不匹配的问题,内存缓存的是硬盘数据用于解决硬盘访问速度过慢的问题。** -![volatile关键字的可见性](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/volatile关键字的可见性.png) +为了更好地理解,我画了一个简单的CPU Cache示意图如下(实际上,现代的CPU Cache通常分为三层,分别叫L1,L2,L3 Cache): -### 2.2 并发编程的三个重要特性 +![CPU Cache](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/303a300f-70dd-4ee1-9974-3f33affc6574.png) + +**CPU Cache的工作方式:** + +先复制一份数据到 CPU Cache中,当CPU需要用到的时候就可以直接从CPU Cache中读取数据,当运算完成后,再将运算得到的数据写回Main Memory 中。但是,这样存在 **内存缓存不一致性的问题** !比如我执行一个 i++操作的话,如果两个线程同时执行的话,假设两个线程从CPU Cache中读取的i=1,两个线程做了1++运算完之后再写回 Main Memory之后 i=2,而正确结果应该是 i=3。 + +**CPU 为了解决内存缓存不一致性问题可以通过制定缓存一致协议或者其他手段来解决。** + +### 2.2. 讲一下JMM(Java内存模型) + +在 JDK1.2 之前,Java 的内存模型实现总是从**主存**(即共享内存)读取变量,是不需要进行特别的注意的。而在当前的 Java 内存模型下,线程可以把变量保存**本地内存**(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成**数据的不一致**。 + +![JMM(Java内存模型)](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/0ac7e663-7db8-4b95-8d8e-7d2b179f67e8.png) + +要解决这个问题,就需要把变量声明为**volatile**,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。 + +所以,**volatile 关键字 除了防止 JVM 的指令重排 ,还有一个重要的作用就是保证变量的可见性。** + +![volatile关键字的可见性](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/d49c5557-140b-4abf-adad-8aac3c9036cf.png) + +### 2.3. 并发编程的三个重要特性 1. **原子性** : 一个的操作或者多次操作,要么所有的操作全部都得到执行并且不会收到任何因素的干扰而中断,要么所有的操作都执行,要么都不执行。`synchronized ` 可以保证代码片段的原子性。 2. **可见性** :当一个变量对共享变量进行了修改,那么另外的线程都是立即可以看到修改后的最新值。`volatile` 关键字可以保证共享变量的可见性。 3. **有序性** :代码在执行的过程中的先后顺序,Java 在编译器以及运行期间的优化,代码的执行顺序未必就是编写代码时候的顺序。`volatile` 关键字可以禁止指令进行重排序优化。 -### 2.3. 说说 synchronized 关键字和 volatile 关键字的区别 +### 2.4. 说说 synchronized 关键字和 volatile 关键字的区别 -`synchronized` 关键字和 `volatile` 关键字是两个互补的存在,而不是对立的存在: +`synchronized` 关键字和 `volatile` 关键字是两个互补的存在,而不是对立的存在! -- **volatile关键字**是线程同步的**轻量级实现**,所以**volatile性能肯定比synchronized关键字要好**。但是**volatile关键字只能用于变量而synchronized关键字可以修饰方法以及代码块**。synchronized关键字在JavaSE1.6之后进行了主要包括为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁以及其它各种优化之后执行效率有了显著提升,**实际开发中使用 synchronized 关键字的场景还是更多一些**。 -- **多线程访问volatile关键字不会发生阻塞,而synchronized关键字可能会发生阻塞** -- **volatile关键字能保证数据的可见性,但不能保证数据的原子性。synchronized关键字两者都能保证。** -- **volatile关键字主要用于解决变量在多个线程之间的可见性,而 synchronized关键字解决的是多个线程之间访问资源的同步性。** +- **volatile 关键字**是线程同步的**轻量级实现**,所以**volatile 性能肯定比 synchronized 关键字要好**。但是**volatile 关键字只能用于变量而 synchronized 关键字可以修饰方法以及代码块**。 +- **volatile 关键字能保证数据的可见性,但不能保证数据的原子性。synchronized 关键字两者都能保证。** +- **volatile 关键字主要用于解决变量在多个线程之间的可见性,而 synchronized 关键字解决的是多个线程之间访问资源的同步性。** ## 3. ThreadLocal @@ -526,7 +550,7 @@ public interface Callable { 举个例子: Spring 通过 `ThreadPoolTaskExecutor` 或者我们直接通过 `ThreadPoolExecutor` 的构造函数创建线程池的时候,当我们不指定 `RejectedExecutionHandler` 饱和策略的话来配置线程池的时候默认使用的是 `ThreadPoolExecutor.AbortPolicy`。在默认情况下,`ThreadPoolExecutor` 将抛出 `RejectedExecutionException` 来拒绝新来的任务 ,这代表你将丢失对这个任务的处理。 对于可伸缩的应用程序,建议使用 `ThreadPoolExecutor.CallerRunsPolicy`。当最大池被填满时,此策略为我们提供可伸缩队列。(这个直接查看 `ThreadPoolExecutor` 的构造函数源码就可以看出,比较简单的原因,这里就不贴代码了) -### 4.6 一个简单的线程池Demo:`Runnable`+`ThreadPoolExecutor` +### 4.6 一个简单的线程池Demo 为了让大家更清楚上面的面试题中的一些概念,我写了一个简单的线程池 Demo。 @@ -920,6 +944,97 @@ tryReleaseShared(int)//共享方式。尝试释放资源,成功则返回true - **CountDownLatch (倒计时器):** CountDownLatch是一个同步工具类,用来协调多个线程之间的同步。这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。 - **CyclicBarrier(循环栅栏):** CyclicBarrier 和 CountDownLatch 非常类似,它也可以实现线程间的技术等待,但是它的功能比 CountDownLatch 更加复杂和强大。主要应用场景和 CountDownLatch 类似。CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是 CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用await()方法告诉 CyclicBarrier 我已经到达了屏障,然后当前线程被阻塞。 +### 6.4. 用过 CountDownLatch 么?什么场景下用的? + +👨‍💻**面试官** :用过 CountDownLatch 么?什么场景下用的? + +🙋 **我** : `CountDownLatch` 的作用就是 允许 count 个线程阻塞在一个地方,直至所有线程的任务都执行完毕。之前在项目中,有一个使用多线程读取多个文件处理的场景,我用到了 `CountDownLatch ` 。具体场景是下面这样的: + +我们要读取处理6个文件,这6个任务都是没有执行顺序依赖的任务,但是我们需要返回给用户的时候将这几个文件的处理的结果进行统计整理。 + + 为此我们定义了一个线程池和count为6的`CountDownLatch`对象 。使用线程池处理读取任务,每一个线程处理完之后就将count-1,调用`CountDownLatch`对象的 `await()`方法,直到所有文件读取完之后,才会接着执行后面的逻辑。 + +伪代码是下面这样的: + +```java +public class CountDownLatchExample1 { + // 处理文件的数量 + private static final int threadCount = 6; + + public static void main(String[] args) throws InterruptedException { + // 创建一个具有固定线程数量的线程池对象(推荐使用构造方法创建) + ExecutorService threadPool = Executors.newFixedThreadPool(10); + final CountDownLatch countDownLatch = new CountDownLatch(threadCount); + for (int i = 0; i < threadCount; i++) { + final int threadnum = i; + threadPool.execute(() -> { + try { + //处理文件的业务操作 + ...... + } catch (InterruptedException e) { + e.printStackTrace(); + } finally { + //表示一个文件已经被完成 + countDownLatch.countDown(); + } + + }); + } + countDownLatch.await(); + threadPool.shutdown(); + System.out.println("finish"); + } + +} +``` + +👨‍💻**面试官** :有没有可以改进的地方呢? + +🙋 **我** :可以提示一下具体的改进方向不? + +👨‍💻**面试官** :Java 8 的新增加的一个多线程处理的类。 + +🙋 **我** :是 `CompletableFuture` 吧!这个确实可以通过这个类来改进。Java8 的 `CompletableFuture` 提供了很多对多线程友好的方法,使用它可以很方便地为我们编写多线程程序,什么异步、串行、并行或者等待所有线程执行完任务什么的都非常方便。 + +```java +CompletableFuture task1 = + CompletableFuture.supplyAsync(()->{ + //自定义业务操作 + }); +...... +CompletableFuture task6 = + CompletableFuture.supplyAsync(()->{ + //自定义业务操作 + }); +...... + CompletableFuture headerFuture=CompletableFuture.allOf(task1,.....,task6); + + try { + headerFuture.join(); + } catch (Exception ex) { + ...... + } +System.out.println("all done. "); +``` + +👨‍💻**面试官** :嗯嗯!大概意思说清楚了,不过代码还可以接续优化,当任务过多的时候,把每一个 task 都列出来不太现实,可以考虑通过循环来添加任务。 + +```java +//文件夹位置 +List filePaths = Arrays.asList(...) +// 异步处理所有文件 +List> fileFutures = filePaths.stream() + .map(filePath -> doSomeThing(filePath)) + .collect(Collectors.toList()); +// 将他们合并起来 +CompletableFuture allFutures = CompletableFuture.allOf( + fileFutures.toArray(new CompletableFuture[fileFutures.size()]) +); + +``` + + + ## 7 Reference - 《深入理解 Java 虚拟机》 diff --git a/docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md b/docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md index c987d149..59c14848 100644 --- a/docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md +++ b/docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md @@ -84,7 +84,7 @@ public class MultiThread { 从上图可以看出:一个进程中可以有多个线程,多个线程共享进程的**堆**和**方法区 (JDK1.8 之后的元空间)**资源,但是每个线程有自己的**程序计数器**、**虚拟机栈** 和 **本地方法栈**。 -**总结:** 线程 是 进程 划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反 +**总结:** **线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反。** 下面是该知识点的扩展内容! diff --git a/docs/java/Multithread/images/interview-questions/synchronized关键字.png b/docs/java/Multithread/images/interview-questions/synchronized关键字.png new file mode 100644 index 0000000000000000000000000000000000000000..24ac1a8cc268bf9541aeba9994a67b6fc30a9ed4 GIT binary patch literal 159155 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 J;Mm83{|1#Wr0W0x literal 0 HcmV?d00001