synchonize锁升级
时间: 2024-04-26 17:20:11 浏览: 18
在Java中,synchronized锁升级是指在多线程环境下,为了提高效率,JVM会将synchronized锁从偏向锁、轻量级锁、重量级锁逐步升级,以保证线程安全性。
偏向锁是指在没有多线程竞争的情况下,JVM会将锁对象记录在线程的ThreadLocal变量中,并将对象头中的Mark Word标记为偏向锁。这样,在后续的操作中,线程可以直接获取锁对象而无需进行CAS操作,从而提高了效率。
轻量级锁是指在有多个线程竞争同一个锁对象时,JVM采用CAS操作,将线程的锁记录保存在对象头中,如果CAS操作成功,则该线程持有锁,否则,JVM会将锁升级为重量级锁。
重量级锁是指在多个线程竞争同一个锁对象时,JVM会将该锁对象转化为操作系统级别的互斥量(Mutex),从而保证线程安全。但是,重量级锁的效率较低,因此在实际应用中应尽量避免多线程竞争同一个锁对象。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)