JUC源码中AQS和ReentrantLock是如何协同工作的?