请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

轻量级锁的问题

老师您好,当线程A获取到锁,并且此时锁已经是轻量级锁,A线程还在执行同步代码,未释放锁。此时,线程B来获取锁,这个时刻,线程B会有哪些行为,B线程能修改锁对象的Mark Word吗,如果能的话,是只修改锁标志位为重量级锁吗?B在此时会有通过CAS去更改Mark Word指向自己的行为吗?

正在回答

插入代码

1回答

同学好,B是可以修改mark word的,把锁标志改成重量级锁,改成重量级锁的前提b通过自旋尝试去更改Mark Word指向自己指针失败后才有的行为,而失败的原因是a已经占有了锁

0 回复 有任何疑惑可以回复我~
  • 提问者 Meteor流星 #1
    明白了,老师,感谢!
    回复 有任何疑惑可以回复我~ 2021-12-08 13:15:45
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号