sychronized底层实现

Synchronized减重的过程,通常被称为锁膨胀或是锁升级的过程。
主要步骤是:

    • 先是通过偏向锁来获取锁,解决了虽然有同步但无竞争的场景下锁的消耗。
    • 再是通过对象头的Mark Word来实现的轻量级锁,通过轻量级锁如果还有竞争,那么继续升级。
    • 升级为自旋锁,如果达到最大自旋次数了,那么就直接升级为重量级锁,所有未获取锁的线程都阻塞等待。
posted @ 2022-02-27 17:59  人生の短暂  阅读(33)  评论(0)    收藏  举报