当Thread-0退出同步块解锁时,使用cas将Mark Word的值恢复给对象头,失败。 这时会进入重量级解锁流程,即按照Monitor地址找到Monitor对象,设置Owner为null,monitor把 "lock record 地址 00" 记录还给Thread-0,Thread-0把 "Hashcode Age Bias 01" 传给Monitor,这样Thread-0便成功解锁,然后WaitSet和EntryList会去竞选锁,拿到锁的线程会转移到Owner
当Thread-0退出同步块解锁时,使用cas将Mark Word的值恢复给对象头,失败。 这时会进入重量级解锁流程,即按照Monitor地址找到Monitor对象,设置Owner为null,monitor把 "lock record 地址 00" 记录还给Thread-0,Thread-0把 "Hashcode Age Bias 01" 传给Monitor,这样Thread-0便成功解锁,然后WaitSet和EntryList会去竞选锁,拿到锁的线程会转移到Owner