JUC-AQS源码详解
整个JUC体系的基石,主要用于解决锁分配给“谁”的问题:如果共享资源被占用,就需要一定的阻塞等待唤醒机制来保证锁分配。这个机制主要用的是CLH队列的变体实现的,将暂时获取不到锁的线程加入到队列中,这个队列就是AQS同步队列的抽象表现。它将要请求共享资源的线程及自身的等待状态(waitState)封装成队列的结点对象(Node) ,通过CAS、自旋以及LockSupport.park()的方式,维护state变 量的状态,使并发达到同步的效果。都是通过Sync实现AQS相关关系图:NofairSync、Fai





