当前位置: 代码迷 >> 综合 >> 乐观锁 与 悲观锁 个人见解
  详细解决方案

乐观锁 与 悲观锁 个人见解

热度:37   发布时间:2023-12-22 10:03:37.0

乐观锁,相信冲突是低概率事件,那么在commit时才进行检查。
    做法:
          1) 取数据时同时获取最后更新的时间戳或版本号。
          2) 再更新前,用锁记录的方式获取当前时间戳或版本号。
          3)若无法锁定,表示正被修改,放弃操作,要求用户重新查询。
          4)若可以锁定,比较时间戳或版本号。不同则按 3)进行操作,相同则更新记录,同时修改时间戳或版本号

 

 

悲观锁, 认为冲突很可能发生,不希望自己的修改作废。那么在取数据时加锁。
  做法
  1) 取数据时,锁记录的方式获取修改标志,若可以修改则设定为修改中。
  2)修改数据后,或放弃修改后,更新修改标志为可以修改。

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

如果想跟深入了解个人推荐链接

http://www.cnblogs.com/zhenyulu/articles/208799.html

这位博主写的比较详细,个人学习借鉴