我觉得就是从两个方面去讲 1.就是它的共享变量state(volatile修饰的)用于cas判断是否状态满足 2.就是从同步队列来进行讲 这个时候就要分为独占锁和共享锁来进行解释 独占锁是要判断是否前一个节点是否为头结点 如果是 则会尝试获取锁 否则 则进入自旋判断 如果是共享锁 则只需要判断state是否大于0即可 详情可以看看蓝色那本并发的书