CAS+volatile
    state根据子类的实现赋予不同的意义。
    CLH队列 双向链表 每个Node节点装的是线程。
    +———+ prev +——-+ +——-+
    head | | <—— | | <—— | | tail
    +———+ +——-+ +——-+

    tryAcquire:
    获取AQS的state,如果state==0,意味着没有线程获取锁