本篇继续之前的系列,解析ReentrantLock公平锁。
J.U.C并发框架之AQS(三):ReentrantLock中断锁
本篇文章将研究ReentrantLock中断锁,首先提两个问题预热:中断锁触发的时机是什么时候?中断锁响应中断后,线程接下来做什么?
J.U.C并发框架之AQS(二):ReentrantLock释放锁
当一个线程执行结束,是怎么唤醒后续线程的?一个线程cancel后是怎样出队的?上一篇主要分析了获取锁,这一篇将聚焦释放锁以解答自己的困惑。本篇还是承接《J.U.C并发框架之AQS(一):ReentrantLock获取锁》的实验用例,锁限定为非中断且非公平且独占的情形,而中断锁、非公平锁以及独占锁的研究将在后续开专篇解析。
J.U.C并发框架之AQS(一):ReentrantLock获取锁
解析ReentrantLock,就是解析AQS!但后者毕竟是一个框架,大而全,且部分功能交由子类重现,不容易找到一个阅读源码的切入点,所以不妨从ReentrantLock开始,先理解AQS实现的独占锁。在解析的过程中,对一些过于简单的细节,不再堆砌,只抓核心功能的实现部分。本解析采用的是jdk1.8.0_171。