悲观锁和乐观锁

悲观锁

总是假设最坏的情况,每次拿数据的时候都认为别人会修改,所以在拿数据的时候都会先上锁
Java同步关键字synchronized
mysql的select ... for update
oracle支持select ... for update no wait

乐观锁

乐观锁认为,在一般的情况下数据不会发生冲突,仅在数据提交更新时,才会做一次校验
通常在表中加一个version版本字段,每次更新数据的时候+1,这样更新的时候会校验,当前版本号是否正确,如果不正确,则报错进行异常处理

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所...
    忘净空阅读 783评论 0 2
  • 悲观锁(Pessimistic Lock) 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿...
    lucode阅读 207评论 0 0
  • 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在...
    浊水i阅读 349评论 0 1
  • 其实很多人想学知识管理,是因为之前自己看了很多文章,在后面常常想不起来,甚至不知道去哪里找,这就导致我们学习效率不...
    知识结构与人生算法阅读 334评论 2 1
  • 我是天空里的一片云,偶尔投影在你的波心--你不必讶异,更无须欢喜---在转瞬间消灭了踪迹。你我相逢在黑夜的海上,你...
    柠檬橙子C阅读 224评论 0 1