- 博客(2)
- 收藏
- 关注
原创 多线程面试题
在锁对象的对象头里面有一个threadid字段,在第一次访问的时候thread为空,jvm让其持有偏向锁,并将threadid设置为其线程id,再次进入的时候会先判断threadid是否与其线程id一致,如果一致则可以直接使用此对象,如果不一致,则升级偏向锁为轻量级锁,通过自旋循环一定次数来获取锁,执行一定次数之后,如果还没有正常获取到要使用的对象,此时就会把锁从轻量级升级为重量级锁,此过程就构成了synchronized锁的升级。每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。
2023-05-11 08:44:50
277
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人