nonfairTryAcquire
compareAndSetState尝试获取锁
release方法state减1,直到为0
结束
AbstractQueuedSynchronizer里面的lock方法
调用acquireQueuedH获取锁或者阻塞线程
hasQueuedPredecessors方法判断当前线程是不是CLH队列被唤醒的线程
将当前线程设置成独占访问权限
默认否
sync.release(1);
调用unparkSuccessor将头节点的下个节点唤醒
false
是否公平锁
创建节点使用cas的方式将Node加入到CLH队列尾addWaiter
unlock方法
是
true
非公平锁
尝试获取锁
lock方法