![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
文章平均质量分 63
Beyond_奈何
奈何落花有意随流水,流水无心恋落花。
展开
-
模拟AQS中acquireQueued返回true的情况
AQS中有acquire方法: public final void acquire(int arg) { if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterrupt(); } final boolean acquireQueued(final Node node, int arg) {原创 2021-05-10 10:06:52 · 397 阅读 · 0 评论 -
源码分析Lock实现原理 - ReentrantLock
从jdk1.5出现的Lock接口,与synchronized相比,提供了更广泛的操作,可以有不同的属性,支持多个关联对象 先看它的一个实现ReentrantLock两个继承关系图: ReentrantLock有一个抽象静态内部类Sync,FairSync和NonfairSync分别是Sync公平和非公平锁的两个实现 知道了这些前提,使用Lock锁先要初始化ReentrantLock实例,ReentrantLock有两个构造方法: /** Synchronizer provi...原创 2021-04-29 18:30:04 · 238 阅读 · 0 评论