synchronized详解

synchronized特点

1.开始时是乐观锁,如果锁冲突频繁,就转换成了悲观锁

2.开始时是轻量级锁,如果锁被持有的时间较长,就转换为重量级锁

3.实现轻量锁的时候,大概率用的是自旋锁策略

4.是互斥锁

5.是可重入锁

6.是非公平锁

synchronized锁机制

synchronized的关键策略:锁升级

偏向锁:只是想让线程针对锁有个标记(非常轻量)

如果真个代码执行的过程中,都没有遇到别的线程和它竞争这个锁,就不用进行加锁了

但是一旦要是有别的线程尝试来竞争这个锁,偏向锁就立即升级成真的锁(轻量级锁),此时别的线程只能等待

既保证了效率又保证了线程安全

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值