AQS与同步工具类源码解析
AbstractQueuedSynchronizer的源码深入分析,以及基于AQS的衍生品同步工具类的深入解析。
pfnie
这个作者很懒,什么都没留下…
展开
-
AbstractQueuedSynchronizer的衍生品ReentrantLock(七)- 不响应中断的独占锁
1、AbstactQueuedSynchronizer的基本数据结构原创 2017-09-03 17:30:43 · 1211 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码剖析(六)- 深刻解析与模拟线程竞争资源
一、细说AQS 在深入分析AQS之前,我想先从AQS的功能上说明下AQS,站在使用者的角度,AQS的功能可以分为两类:独占锁和共享锁。它的所有子类中,要么实现并使用了它独占锁的API,要么使用了共享锁的API,而不会同时使用两套API,即便是它最有名的子类ReentrantReadWriteLock,也是通过两个内部类:读锁和写锁,分别实现的两套API来实现的,到目前为止原创 2016-11-19 15:24:29 · 11423 阅读 · 30 评论 -
AbstractQueuedSynchronizer源码剖析(五)- 响应中断的共享锁
1、AbstactQueuedSynchronizer的基本数据结构AbstractQueuedSynchronizer是并发类的重中之重,我会细分很多章节来解析。本篇博客主要分析AQS中的不响应中断的独占锁。(1). AbstactQueuedSynchronizer的基本数据结构AQS的基本数据结构为Node,关于Node,JDK作者写了详细的注释,这里我大致总原创 2017-09-03 14:37:34 · 1106 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码剖析(四)- 不响应中断的共享锁
1、AbstactQueuedSynchronizer的基本数据结构AbstractQueuedSynchronizer是并发类的重中之重,我会细分很多章节来解析。本篇博客主要分析AQS中的不响应中断的独占锁。(1). AbstactQueuedSynchronizer的基本数据结构AQS的基本数据结构为Node,关于Node,JDK作者写了详细的注释,这里我大致总原创 2017-09-03 12:48:16 · 1117 阅读 · 1 评论 -
AbstractQueuedSynchronizer源码剖析(三)- 响应中断的独占锁
1、AbstactQueuedSynchronizer的基本数据结构AbstractQueuedSynchronizer是并发类的重中之重,我会细分很多章节来解析。本篇博客主要分析AQS中的不响应中断的独占锁。(1). AbstactQueuedSynchronizer的基本数据结构AQS的基本数据结构为Node,关于Node,JDK作者写了详细的注释,这里我大致总原创 2017-09-03 11:45:12 · 1363 阅读 · 6 评论 -
AbstractQueuedSynchronizer源码剖析(二)- 不响应中断的独占锁
1、何为独占锁 JDK1.5之后引入了并发java.util.concurrent,大大提高了Java程序的并发性能。在介绍Lock之前,我们需要先熟悉一个非常重要的组件,掌握了该组件JUC包下面很多问题都不在是问题了。AQS是构建锁或者其他同步组件的基础框架(如ReentrantLock、ReentrantReadWriteLock、Semaphore等),JUC并发包原创 2017-09-02 19:45:49 · 2304 阅读 · 13 评论 -
AbstractQueuedSynchronizer源码剖析(一)- 从抽象和接口说起
一、从设计思想开始 JDK1.5之后引入了并发java.util.concurrent,大大提高了Java程序的并发性能。在介绍Lock之前,我们需要先熟悉一个非常重要的组件,掌握了该组件JUC包下面很多问题都不在是问题了。AQS是构建锁或者其他同步组件的基础框架,JUC并发包的作者期望它能够成为实现大部分同步需求的基础。它是JUC并发包中的核心基础组件。 AQS原创 2017-08-26 13:24:04 · 2623 阅读 · 1 评论