sychronized的?旋锁、偏向锁、轻量级锁、重量级锁是什么

发布时间:2024年01月13日
  1. 偏向锁:在锁对象的对象头中记录?下当前获取到该锁的线程ID,该线程下次如果?来获取该锁就可以直接获取到了
  2. 轻量级锁:由偏向锁升级?来,当?个线程获取到锁后,此时这把锁是偏向锁,此时如果有第
    ?个线程来竞争锁,偏向锁就会升级为轻量级锁,之所以叫轻量级锁,是为了和重量级锁区分开来,轻量级锁底层是通过?旋来实现的,并不会阻塞线程
  3. 如果?旋次数过多仍然没有获取到锁,则会升级为重量级锁,重量级锁会导致线程阻塞
  4.  ?旋锁:?旋锁就是线程在获取锁的过程中,不会去阻塞线程,也就?所谓唤醒线程,阻塞和唤醒这两个步骤都是需要操作系统去进?的,?较消耗时间,?旋锁是线程通过CAS获取预期的?个标记,如果没有获取到,则继续循环获取,如果获取到了则表示获取到了锁,这个过程线程?直在运
    

?中,相对??没有使?太多的操作系统资源,?较轻量。
CAS + ?旋:

CAS获取预期的?个标记失败,?直循环获取
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_33240556/article/details/135451925
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。