![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
qq_41902061
这个作者很懒,什么都没留下…
展开
-
通过ReentrantLock来了解AQS
1、AQS的简单介绍 AQS是一个抽象类,该类采用的是模板设计方式,内部维护了一个链表用于存储当时没有获取到的锁的线程,其底层实现是依靠着Unsafe类即实现了CAS算法的类和通过设置状态值来判断当前锁的使用情况。 2、ReentrantLock的源码分析 public class ReentrantLock implements Lock, java.io.Serializable { ...原创 2020-03-04 15:58:38 · 86 阅读 · 0 评论 -
一、synchronized关键字原理
众所周知synchronized关键字是解决并发问题常用的解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象 同步静态方法,锁的是当前Class对象 同步块,锁的是()中的对象 实现原理: JVM是通过进入、退出对象监视器(Monitor)来实现对方法、同步块的同步的。 具体实现是在通过编译之后在同步方法之前加入一个monitor.enter指令,在退出方法和异常处插入monito...原创 2019-10-06 10:45:49 · 111 阅读 · 0 评论