各种锁

乐观锁(Pessimistic)

写锁优先机制,读锁在锁定某一代码块时,如果没有写锁竞争,就会获得该锁的权限,如果进行锁定时发现有写锁正在竞争,那么就会抛出例外,需要重新操作进行锁定,竞争标志则是
long stamp = lock.tryOptimisticRead();//有竞争返回0
lock.validate(stamp);//有竞争返回true

悲观锁(Optimistic)

再用读取锁锁定一块代码时,另一个读取锁依然可以进入该代码块,而写锁不可进入,在用写锁锁定的一段代码时,读锁和写锁都不能进入该代码块

结论

两种锁时对读写而言,悲观锁是读有优势,乐观锁是写有优势;
所以乐观锁时写少的情况,悲观锁时读少的情况

行锁

MySql中粒度最小的一种锁,对当前操作行进行加锁,触发数据库操作冲突概率低,并发度高,加锁粒度小,加锁开销大,加锁慢,会出现死锁

表锁

MySql中粒度最大的一种锁,对当前操作的整张表进行加锁,触发数据库操作(锁)冲突概率高,并发度最低,加锁粒度大,加锁开销小,加锁块,不会出现死锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值