您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Oracle >> 欢乐锁和悲观锁的小问题

欢乐锁和悲观锁的小问题

来源:网络整理     时间:2018/1/25 12:05:38     关键词:

关于网友提出的“ 欢乐锁和悲观锁的小问题”问题疑问,本网通过在网上对“ 欢乐锁和悲观锁的小问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 欢乐锁和悲观锁的小问题
描述:

前辈们好!问题如下:

面试的时候经常被问道欢乐锁和悲观锁的区别,小弟想知道,什么情况下用欢乐锁,什么情况下用悲观所,以及如何实现欢乐锁和悲观锁?

问题有点多,谢谢回答。


解决方案1:

简单来说. 乐观锁就是先让所有并发访问都能访问到数据. 在他们提交数据的时候做版本判断. 如果版本不对. 就提交失败. 悲观锁就是 在并发访问的时候排队. 也可以看作是串行的提交. 比如redis. 用的就是乐观锁. 并发提交时. 先让大家都获取一个类似于版本记录的值. 然后真正提交时. 会对比这个值. 如果不符合就提交失败. 这样保证只有一个能提交成功. 而悲观锁会在提交前 获取一个类似于写锁的东西. 只准一个人在那写. 不能并发. 比如mysql如果你select 的时候使用了 for update 这样的语句. 也就相当于手动加上了一个悲观锁.

解决方案2:

悲观锁是显式的,乐观锁是MVCC

解决方案3:

  • http://chenzhou123520.iteye.c...
  • https://www.zhihu.com/questio...

以上介绍了“ 欢乐锁和悲观锁的小问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4534822.html

相关图片

相关文章