开启多线程ReentrantLock的debug之旅
看了ReentrantLock1之后,了解aqs和cas后, 我们来debug一下lock中的aqs同步队列的操作,以及reentrantLock中的锁的实现
debug demo:
设置多线程debug模式
启动后查看线程
因为线程1第一个拿到锁,所以先线程1走两步试试:
f8进入reentrantLock
获取锁
走下一步,将当前拥有锁的线程标记为拥有者
线程1休眠在, 那其他线程是活动的,我切换到线程2,去尝试获取锁