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

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

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

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

    相关文章

      网友评论

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

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