并发系列
文章平均质量分 94
并发系列
Java学习之乐
学习
展开
-
并发系列之锁的知识梳理
锁系列之锁的知识梳理1、锁的分类1.1、乐观锁和悲观锁1.1.1、乐观锁1.1.2、悲观锁1.2、公平锁和非公平锁1.2.1、公平锁1.2.2、非公平锁1.3、可重入锁1.4、独享锁和共享锁1.4.1、独享锁1.4.2、共享锁1.5、偏向锁/轻量级锁/重量级锁1.5.1、偏向锁1.5.2、轻量级锁1.5.2、重量级锁1.6、分段锁2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列2.4、数据结构和算法系列1、锁的分类1.1、乐观锁和悲观锁1.1.1、乐观锁  原创 2021-04-14 22:32:49 · 179 阅读 · 0 评论 -
并发系列之线程池解析
并发系列之线程池解析1、线程池是什么?2、线程池核心设计与实现2.1、线程池的生命周期2.2、任务执行的机制2.2.1、任务调度2.2.2、任务缓冲2.2.3、任务申请2.2.4、任务拒绝2.3、核心参数2.4、功能线程池3、Worker线程管理3.1、Worker线程增加3.2、Worker线程回收3.3、Worker线程执行任务4、线程池在业务中的实践4.1、快速响应用户请求4.2、快速处理批量任务4.3、解决方案4.3.1、能否不用线程池?4.3.2、追求参数设置合理性?4.3.3、线程池参数动态化?原创 2021-04-13 11:05:50 · 393 阅读 · 1 评论 -
并发系列之AQS分析
并发系列之AQS分析1、AQS简介2、AQS的数据结构3、AQS的主要方法源码解析3.1获取资源3.2、释放资源4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、并发系列1、AQS简介AQS是AbstractQueuedSynchronizer的简称,即抽象队列同步器,从字面意思上理解:抽象:抽象类,只实现一些主要逻辑,有些方法由子类实现;队列:使用先进先出(FIFO)队列存储数据;同步:实现了同步的功能。 &nb原创 2021-04-12 14:22:03 · 308 阅读 · 0 评论 -
并发系列之CAS与原子操作
并发系列之CAS与原子操作1、CAS的概念2、Java实现CAS的原理 - Unsafe类3、原子操作-AtomicInteger类源码简析4、CAS实现原子操作的三大问题4.1、ABA问题4.2、循环时间长开销大4.3、只能保证一个共享变量的原子操作5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、CAS的概念CAS的全称是:比较并交换(Compare And Swap)。在CAS中,有这样三个值:V:要更新的变量(var)E:预期值(e原创 2021-04-12 10:18:35 · 281 阅读 · 1 评论 -
并发系列之synchronized与lock的区别
并发系列之synchronized与lock的区别1、实现层面2、用法层面3、是否自动释放锁4、获取锁成功是否可知5、是否可中断和是否公平6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列5.4、数据结构和算法系列6.5、多线程系列1、实现层面 synchronized 是 Java 关键字,JVM层面 实现加锁和释放锁;Lock 是一个接口,在代码层面实现加锁和释放锁2、用法层面 &n原创 2021-04-09 09:26:29 · 313 阅读 · 0 评论 -
并发系列之Lock解析
并发系列之Lock解析1、Lock简介2、ReentrantLock介绍2.1、内部类Sync:2.2、内部类NonfairSync:2.3、内部类FairSync:3、ReentrantLock的用法5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、Lock简介 Lock接口是对锁操作的基本定义,它提供了synchronized关键字所具备的全部功能方法,另外我们可以借助Lo原创 2021-04-08 17:29:19 · 296 阅读 · 0 评论 -
并发系列之synchronized与volatile的区别
并发系列之synchronized与volatile的区别1、使用上的区别2、对原子性的保证3、对可见性的保证4、对有序性的保证和阻塞5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、使用上的区别 volatile只能修饰变量,synchronized修饰方法和语句块; volatile例子:volati原创 2021-04-08 13:10:13 · 267 阅读 · 3 评论 -
并发系列之volatile解析
并发系列之volatile解析1、volatile简介2、可见性3、有序性4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、多线程系列1、volatile简介 volatile 具有可见性和有序性的特性,同时,对 volatile 修饰的变量进行单个读写操作是具有原子性。2、可见性 简单的说,就原创 2021-04-08 11:10:43 · 252 阅读 · 3 评论 -
并发系列之synchronized解析
多线程系列之synchronized解析1、synchronized简介2、synchronized实现原理2.1、对象锁(monitor)机制2.2、synchronized的happens-before关系2.3、锁获取和锁释放的内存语义3、synchronized优化4、一个例子2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列2.4、数据结构和算法系列2.5、多线程系列1、synchronized简介 我原创 2021-04-07 16:22:10 · 231 阅读 · 1 评论 -
并发系列之JMM内存模型
并发系列之JMM内存模型1、JMM的介绍2、内存模型抽象结构3、重排序4、 happens-before规则4.1、 happens-before定义4.2、具体规则5、总结5.1、JMM的设计5.2、happens-before与JMM的关系6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列6.4、数据结构和算法系列6.5、多线程系列1、JMM的介绍 JMM定义了程序中各个共享变量的访问规则,即在虚拟机中将变量原创 2021-04-06 14:13:57 · 291 阅读 · 0 评论 -
并发系列之初识多线程
创建线程原创 2021-04-02 14:34:39 · 396 阅读 · 0 评论