logo

48. 多线程中 synchronized 锁升级的原理是什么?

48. What is the principle behind synchronized lock escalation (lock upgrading) in multithreading?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: Concurrency, JVM

标签: synchronized, biased lock, lightweight lock, heavyweight lock

参考答案摘要

答案 synchronized 锁升级原理:在锁对象的对象头里面有一个 threadid 字段,在第一次访问的时候 threadid 为空,jvm 让其持有偏向锁,并将 threadid 设置为其线程 id,再次进入的时候会判断 threadid 是否与其线程 id 一致,如果一致则可以直接使用此对象,如果不一致,则升级偏向锁为轻量级锁,通过自旋的方式尝试获取锁,获取成功之后,如果还是没有正常获取...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

48. 多线程中 synchronized 锁升级的原理是什么?

Hardjavaconcurrencyjvm

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案