美文网首页微服务架构多线程
sychronized的偏向锁,轻量级锁和重量级锁

sychronized的偏向锁,轻量级锁和重量级锁

作者: 念䋛 | 来源:发表于2021-10-09 21:25 被阅读0次

1.偏向锁:在锁对象的对象头中记录一下当前获取到该锁的线程ID,该线程如果再次获取该对象的的锁就可以直接获取锁(锁的重入)
偏向锁主要是当前只有一个线程来竞争锁
2.轻量级锁:是偏向锁升级的,当前只有一个线程获取到锁是偏向锁,如果出现第二个线程来竞争锁的话,偏向锁就会升级为轻量级锁
轻量级锁是通过jvm层面的自旋事先的,不会阻塞线程,不涉及到线程的“用户态和内核态”两个态之间来回切换,不会像重量级锁占用资源,但是会占用cpu
3.重量级锁:如果轻量级锁自旋多次(默认为50次),依然获取不到锁则升级为重量级锁,线程阻塞,用户态和内核态”之间的切换.
更详细的信息可以参考大神文章
https://www.cnblogs.com/aspirant/p/11470858.html

相关文章

  • 锁 - 偏向锁、轻量级锁、重量级锁及锁优化

    偏向锁 轻量级锁 重量级锁 锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。 随着锁的竞争,锁可以从偏向...

  • 锁状态的分析

    无锁状态-》偏向锁-》轻量级锁-》重量级锁-》锁膨胀 锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。随...

  • java synchronized原理导图

    当线程遇到synchronized后的执行流程,由偏向锁->轻量级锁->重量级锁 偏向锁、轻量级锁、重量级锁的上锁过程

  • 锁的四种状态

    锁的状态总共四种:无锁状态、偏向锁、轻量级锁和重量级锁。随着锁的竞争,锁可以从偏向锁升级到轻量级锁,再升级到重量级...

  • 偏向锁、轻量级锁、重量级锁的升级以及区别

    今天来讲一下偏向锁、轻量级锁、重量级锁的升级以及区别。 锁的状态: 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状...

  • java同步锁之轻量级锁,重量级锁以及偏向锁

    java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁

  • java 锁升级

    java锁升级路线 偏向锁->轻量级锁->重量级锁(互斥量) 1: 正常无锁状态 轻量级锁未锁定状态 偏向锁未锁...

  • sychronized的偏向锁,轻量级锁和重量级锁

    1.偏向锁:在锁对象的对象头中记录一下当前获取到该锁的线程ID,该线程如果再次获取该对象的的锁就可以直接获取锁(锁...

  • Sychronized的原理

    synchronized是jdk原生提供的锁,底层由偏向锁、轻量级和重量级锁来回切换实现。偏向锁并不算锁,它在对象...

  • Java中的锁

    参考: java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁 Java中的锁--朱小厮 乐观锁和悲观锁 宏观...

网友评论

    本文标题:sychronized的偏向锁,轻量级锁和重量级锁

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