synchronized锁升级
2023-04-25 12:54:16 0 举报
synchronized锁升级
作者其他创作
大纲/内容
调用wait()方法,因为调用wait会让进程进入waitSet所以必须升级到重量级锁
判断偏向锁是否开启,将线程id写进markword
CAS自旋不成功重度竞争锁膨胀
java虚拟机偏向锁默认延时4s时开启偏向锁。
内部设置了一个自旋次数(自适应自旋)超过了就会进行锁升级,如果有大量线程自旋会消耗CUP。
无锁(001)
偏向锁(101)
轻量级锁(00)
解决临界区问题的三个条件:1、互斥访问2、有限等待3、空闲让出
多个线程加锁CAS轻度竞争
偏向锁未启用
重量级锁(10)
0 条评论
下一页