synchronized锁升级过程
synchronized锁升级过程
线程在获取锁的时候,实际上就是获得一个监视器对象(monitor) ,monitor 可以认为是一个同步对象,所有的Java 对象是天生携带monitor。synchronized同步块使用了monitorenter和monitorexit指令实现同步,这两个指令,本质上都是对一个对象的监视器(monitor)进行获取,这个过程是【排他】的,也就是说同一时刻只能有一个线程获取到由synchronized所保护对象的监视器。
接下来我们从对象头信息中发现一些锁的信息
对
原创
2021-12-14 09:56:44 ·
321 阅读 ·
0 评论