乐观锁:每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。
悲观锁:每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻止,直到这个锁被释放。

数据库的乐观锁需要自己实现,在表里面添加一个 version 字段,每次修改成功值加 1,这样每次修改的时候先对比一下,自己拥有的 version 和数据库现在的 version 是否一致,如果不一致就不修改,这样就实现了乐观锁。

说一下乐观锁和悲观锁?相关推荐

  1. [初级]深入理解乐观锁与悲观锁

    2019独角兽企业重金招聘Python工程师标准>>> 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔 ...

  2. 乐观锁与悲观锁——解决并发问题

    引言   在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突.这就是著名的并发性问题. 典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失.例如: ...

  3. [精选]MySQL的各种锁(表锁,行锁,悲观锁,乐观锁,间隙锁,死锁)

    不少人在开发的时候,应该很少会注意到这些锁的问题,也很少会给程序加锁(除了库存这些对数量准确性要求极高的情况下),即使我们不会这些锁知识,我们的程序在一般情况下还是可以跑得好好的.因为数据库隐式帮我们 ...

  4. 乐观锁和悲观锁,可重入锁和不可重入锁(1)

    乐观锁和悲观锁,可重入锁和不可重入锁(1) 前言 感觉有一段时间没有写博客了呢.还是再接再厉吧,适当程度的总结能让我自己能够更加深入地巩固和理解自己所学习的一切. 还有,我很懒,而且我还是比较喜欢写日 ...

  5. Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

    一.相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁定一行) |--共享锁(S锁,MyISAM 叫做读锁) |--排他锁(X锁,MyISAM 叫做写锁) |--悲观锁( ...

  6. 深入理解乐观锁与悲观锁

    在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性. 乐观并发控制(乐观锁)和悲观并发控制(悲 ...

  7. 【转】数据库的乐观锁和悲观锁

    [转]数据库的乐观锁和悲观锁 有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突.为了解决这个问题,大多数数据库用的方法就是数据的锁定.所以说,悲观锁和乐观锁主要是用来 ...

  8. 乐观锁、悲观锁简单分析,回忆旧(新)知识...

    2019独角兽企业重金招聘Python工程师标准>>> 今天被人问了下乐观锁和悲观锁,突然在脑子里好模糊,但又感觉以前很熟悉的东西竟然忘得这么干净.所以恶补加记录一下. 乐观锁和悲观 ...

  9. **Java有哪些悲观锁的实现_面试4连问:乐观锁与悲观锁的概念、实现方式、场景、优缺点?...

    推荐阅读: 数据库面试4连问:分库分表,中间件,优缺点,如何拆分? 终极手撕之架构大全:分布式+框架+微服务+性能优化,够不够? 消息队列面试,你能顶得住面试官这波10大连环炮的攻势吗? 01 乐观锁 ...

  10. 悲观锁和乐观锁_乐观锁和悲观锁 以及 乐观锁的一种实现方式-CAS

    悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞知道它拿到锁.传统的关系型数据库里面就用到了很多的这种锁机制,比如行锁,表锁等 ...

最新文章

  1. 使用Capture画原理图
  2. 基于zxing生成与解析二维码、条形码
  3. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
  4. 产品经理必知必会的SQL
  5. C#中的delegate和event (转)
  6. Java程序员从笨鸟到菜鸟之(八十七)跟我学jquery(三)jquery动态创建元素和常用函数示例...
  7. python如何上传文件_python请求文件上传
  8. Tina Linux 蓝牙BT调试命令和方法-RealTek系列、Ampak系列、芯之联XR系列
  9. 浏览器打开就是360导航(浏览器被360劫持)
  10. 基于图神经网络的图像分类,遥感图像分析
  11. QQ群霸屏技术教程:不论霸屏技术,只谈QQ认证群
  12. 思维-思维方法:思维方法
  13. web-h264流媒体验证方案
  14. 不同频率闪烁多个LED灯
  15. HTML“计算机输出”标签 codekbdsampttvarpre
  16. 【前端安全系列】【万字详解】如何防止XSS攻击?
  17. 业务和商业才是技术的驱动力
  18. 洛谷P2472-网络最大流(点的拆分)
  19. 基于Python摄影图片分享系统设计与实现 开题报告
  20. 深度学习训练时GPU利用率忽高忽低问题

热门文章

  1. Cocos Creator | 游戏优化之内存优化-资源管理
  2. c语言中gets全拼,25英文【25英文英语头条】- 25英文知识点 - 中企动力
  3. 利用二分法查找 设计人与计算机猜数游戏,计算机游戏教学法第十一章.ppt
  4. ubuntu 16.04 php 开发环境搭建
  5. 中国三大电信营运商的3G网络制式、网速、价格对比
  6. 用弹性工作制留住员工
  7. 学习用的Django教程
  8. 会声会影试用版和正式版的区别
  9. 备忘录app能否治愈拖延症?
  10. ExtJs组件的获取方式