await()
Thread.interrupted() 可中断设置
addConditionWaiter() 将线程放入队列尾部lastWaiter
fullyRelease(node) 释放资源
LockSupport.park(this) 挂起线程,等待唤醒
signal()
isHeldExclusively() 判断当前线程是否占有锁,不占有则抛异常IllegalMonitorStateException
doSignal(first) 对队列首结点(一般为当前结点)执行唤醒操作,具体见下一步骤<br>
transferForSignal(node) 当前结点状态设为0,enq(node)线程移至同步队列,并将其前驱结点状态设为SIGNAL