通过关键字synchronized 可以对实例对象,实例方法,类、类方法进行加锁,锁的生命周期/范围,对应着加锁的对象/类/方法的生命周期/范围。
synchronized可分为无锁(逃逸分析锁解除)、偏向锁、轻量级锁、重量级锁,锁可以升级但是不可以降级
各种级别的锁对应线程场景
无锁:无线程个数约束,没有synchronized、lock修饰/做同步控制
偏向锁:只有一个线程访问
轻量级锁:2个线程交替访问
重量级锁:多线程并发访
锁升级过程

通过关键字synchronized 可以对实例对象,实例方法,类、类方法进行加锁,锁的生命周期/范围,对应着加锁的对象/类/方法的生命周期/范围。
synchronized可分为无锁(逃逸分析锁解除)、偏向锁、轻量级锁、重量级锁,锁可以升级但是不可以降级
各种级别的锁对应线程场景
无锁:无线程个数约束,没有synchronized、lock修饰/做同步控制
偏向锁:只有一个线程访问
轻量级锁:2个线程交替访问
重量级锁:多线程并发访
锁升级过程

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。