Java基础记录(二)
Java基础记录(二)
sliver_xu 发表于2年前
Java基础记录(二)
  • 发表于 2年前
  • 阅读 5
  • 收藏 0
  • 点赞 1
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: 乐观锁和悲观锁

在多用户的环境下面,在同一时间里面可能会有多个用户更新相同的记录。这会产生冲突,这就是著名的并发性问题。

典型的冲突:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。


l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。

乐观锁:假设不会发生并发冲突,只在提交操作的时候检查数据的完整性,不能解决脏读的问题

悲观锁:假设会发生并发冲突,屏蔽一切违反数据完整性的操作。

并发量大建议用乐观锁,如果并发量不大且不允许脏读的时候,就可以使用悲观锁解决并发的问题。


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 3
博文 28
码字总数 9361
×
sliver_xu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: