摘要:
ReentrantLock 可重入锁(synchronized也是可重入锁) 必须手动释放锁,使用synchronized如果遇到异常会自动释放锁,但是reentrantLock必须手动释放,因此需要在finally中进行锁的释放。 可以使用tryLock进行尝试锁定,不管锁定与否,方法都将继续进行 阅读全文
posted @ 2021-02-13 16:20
January01
阅读(59)
评论(0)
推荐(0)
摘要:
synchronized底层 JDK早期的实现是重量级锁(向操作系统申请锁)。 Hotspot实现(锁升级) 首先在锁的markword上记录第一个访问的线程ID,并没有上锁(偏向锁)。 如果有线程争用,升级为自旋锁。 默认旋10次之后升级为重量级锁,未获得锁的线程进入等待队列。 可参考http:/ 阅读全文
posted @ 2021-02-13 09:45
January01
阅读(49)
评论(0)
推荐(0)

浙公网安备 33010602011771号