求助>Synchronized  问题求助>
1回复

Synchronized  问题求助



Synchronized的锁升级过程分为 偏向锁,轻量级,重量级

偏向锁是进行cas threadid

轻量级锁在线程栈之中创建一个lock Record 然后进行cas

问题:

轻量级锁在线程栈创建lockRecord的作用是什么?不创建行不行(网上见到有的说法是 需要维护到底有哪些线程竞争过这个锁,等重量级锁释放时进行唤醒,但是在没有锁升级的时候Synchronizd是怎么做的?)?

轻量级锁和偏向锁都是基于cas来判断冲突的,是否可以使用偏向锁代替轻量级锁?或者来说轻量级锁一定要存在的价值是什么?

171 阅读
请先登录,再评论

LockRecord的作用是记录一些信息,因为对象的头没有额外的空间记录这些信息了,如锁的重入次数等信息。
关于偏向锁与轻量级锁一定要理解:偏向锁是不产生锁竞争的情况下,而轻量级锁是允许少量竞争

13周前