
JAVA锁
文章平均质量分 75
进击的猫
你知道的越多,你不知道得越多。。。。。。
展开
-
Synchronized与Lock区别
文章目录1、具体区别(核心)2、在锁概念上的区别3、性能比较1、具体区别(核心)(1)synchronized和Lock都是可重入锁,前者是jvm中使用monitorenter(1个)和monitorexit(2个)来实现同步且其中阻塞和唤醒是wait和notify,后者是juc包中的lock层次使用,依赖于AQS来实现加锁和解锁;(2)synchronized是非公平锁,ReentrantLock可以设置公平锁或者非公平锁;(3)synchronized是不可中断且无法获取锁状态,后者是可中断l原创 2022-02-24 16:34:11 · 5685 阅读 · 0 评论 -
AQS原理分析(ReentrantLock锁分析)
文章目录(一)AQS简介(二)AQS原理剖析ReentrantLock源码分析:源码思想加锁:释放锁:源码逻辑1、构造方法2、非公平锁lock方法(核心)3、acquire获取资源方法(核心)4、addWaiter创建等待者方法(核心)5、acquireQueued入队等待方法(核心)6、cancelAcquire取消线程获取方法(非核心)(一)AQS简介AQS简称AbstractQueuedSynchronizer,是一种实现阻塞锁和依赖FIFO队列的同步器框架。其依赖于一个原子变量state,子类要原创 2022-02-21 21:04:23 · 420 阅读 · 0 评论 -
可重入锁原理分析
(一)synchronized锁分析1、synchronized作用和使用?synchronized作用:(1)原子性:确保线程之间互斥访问同步代码;(2)可见性:保证多线程之间共享变量的修改能及时可见,与java内存模型一致,对变量加lock操作,则执行前会重新从主内存load或assign操作,反之则刷入主内存(unlock);(3)有序性:有效解决重排序问题即释放锁在加锁后,保证代码的有序性。Synchronized可以将任何一个非null对象作为锁即对象监视器(Object Monit原创 2022-01-14 17:05:47 · 1277 阅读 · 0 评论 -
CAS原理分析
CAS锁分析、包含使用场景、缺点、乐观锁原理、Unsafe类调用原理、自旋式CAS并发操作原创 2022-01-07 17:46:42 · 541 阅读 · 1 评论