美文网首页
锁的膨胀

锁的膨胀

作者: 我是光芒万丈 | 来源:发表于2022-06-15 16:28 被阅读0次

    锁得膨胀:
    膨胀方向:无锁->偏向锁->轻量级锁->重量级锁

    无锁:

    没有锁或者不加锁的情况。

    偏向锁:

    适用于只有一个线程访问同步块 ,对象头中的markword关键字指向对应当前线程id.并修改标志位,再次进入或退出不再进行CAS操作.不消耗额外cpu资源,所以速度快。

    轻量级锁:

    适应线程交替执行同步块的过程。轻度冲突,当进入代码块时,发现对象头markword中的线程id不是自己,然后尝试使用CAS进行修改,由于自旋会消耗大量cpu资源,因此如果经过一段时间还没有获取到对象锁,后会升级为重量级锁。

    重量级锁:

    适应于多个线程同时访问一个同步块的情况,对象会进入锁池进行等待,直到资源占用着执行完,再次进行竞争

    相关文章

      网友评论

          本文标题:锁的膨胀

          本文链接:https://www.haomeiwen.com/subject/impxvrtx.html