Synchronized 与 ReentrantLock 的区别

209 阅读1分钟

Synchronized 与 ReentrantLock 的区别

链接一

ReentrantLock lock的实现 :通过cas设置Sync的内部的stateoffset变量来确定当前锁是否被占有,如果可以占有江在sync中设置ownerThread为当前thread,如果不行,则添加到queue(node实现的链表)