有个问题没想明白,AQS中 exclusiveOwnerThread 属性没有被 volatile修饰,那设置这个属性时有时怎么来保证可见性的,还是说持有锁的线程设置自己为独占锁的线程,对于自己而言是拿到最新的属性值,而别的线程在比对时拿到的是null(上一个线程释放锁时设置为null,由于happens-before锁释放的原则),所以后面那里也只会是持有锁的线程能拿到最新值(因为是自己设置的值...)?