- 博客(4)
- 收藏
- 关注
原创 䒜氪哎哎模拟缅逝
在具体的Lock实例中,锁的实现是通过继承AQS来实现的,并且可以根据锁的使用场景,派生出公平锁、不公平锁、读锁、写锁等具体的实现。当一个线程访问同步块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程ID,以后该线程再进入和退出同步块时就不需要做加锁和解锁操作了,只需要简单地测试一下Mark Word里是否存储着自己的线程ID即可。随着线程竞争情况的升级,锁的状态会从无锁状态逐步升级到重量级锁状态。而是应该根据要锁定的范围,准确的选择锁对象,从而准确地确定锁的粒度,降低锁带来的性能开销。
2024-05-03 16:23:20 1580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人