从clh开始讲,aqs是它的升级版避免cas空旋,其实就是clh fifo队列的升级版,首节点独占锁,后面的结点排序等候,状态state为0表示初始状态可以占有锁,state=1表示已有线程占有,大于1是重入锁,设置的state和入队都是通过cas保证原子操作。首节点结点状态为signal时释放锁将state置为0且唤醒后续结点,后续结点开始自旋判断state获取锁。大概讲这些就好了

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务