![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AQS
文章平均质量分 78
做猪呢,最重要的是开森啦
哈哈哈干活
展开
-
ReentrantLock上锁过程场景解析(二):有线程竞争,队列维护,上锁 | AQS源码解析 | acquireQueued | tryAcquire
通过学习ReentrantLock来学习AQS,本文主要是公平锁的上锁过程AQS(AbstractQueuedSynchronizer)主要属性和内部类:· private transient volatile Node head; //队首 private transient volatile Node tail; //队尾 private volatile int state; //锁状态` public class Node{ vo.原创 2021-01-31 15:14:48 · 414 阅读 · 0 评论 -
什么是CAS及保障原子性操作的原理
CAS(Compare And Swap):比较并交换在CAS中,有这样三个值:V:要更新的变量(var)E:预期值(expected)N:新值(new)比较并交换的过程如下:判断V是否等于E,如果等于,将V的值设置为N;如果不等,说明已经有其它线程更新了V,则当前线程放弃更新,什么都不做。...原创 2021-01-24 20:53:31 · 1860 阅读 · 1 评论 -
ReentrantLock上锁过程场景解析(一):无线程竞争,不入队列 | AQS源码解析
通过学习ReentrantLock来学习AQS,本文主要是公平锁的上锁过程AQS(AbstractQueuedSynchronizer)主要属性和内部类:· private transient volatile Node head; //队首 private transient volatile Node tail;//队尾 private volatile int state;//锁状态,加锁成功则为1,重入+1 解锁则为0` public class Node{ volatile.原创 2021-01-27 21:52:03 · 305 阅读 · 0 评论