乐观锁
来源:互联网 发布:淘宝助理怎么复制宝贝 编辑:程序博客网 时间:2024/04/29 20:24
乐观锁
听这个名字就会想到一个叫做悲观锁。传统的锁那就是悲观锁(自己使用时别人就用不了),而对于悲观锁,乐观锁的特点是别人都能查看到信息,只是修改的时候需要拿到版本号去比对。修改后的版本号必须大于数据库中版本号才可以进行修改。
举例:
操作员A对账号为张三的金钱进行转账,此时拿到的版本号为1,张三原来的金额为3000块,需要转账给李四1000块,此时剩余金额为3000-1000=2000块。同一时间操作员B对账号为张三的金额进行修改,拿到的版本号也是为1,花掉200块钱,剩余金额为3000-200=2800块。操作员A进行操作完之后版本号加一,也就是现在的版本号为2,符合修改后的版本号大于数据库中的版本号,成功的修改了。而操作员B也完成操作版本号也加一,去数据库中拿到版本号比较的时候发现他们两个相等,不符合条件所以修改不成功。
理解上面的过程那就明白了乐观锁如何执行的。
阅读全文
0 0
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁
- 乐观锁以及乐观锁的实现
- 乐观锁以及乐观锁的实现
- 乐观锁以及乐观锁的实现
- 乐观的人用乐观锁?
- 悲观锁乐观锁
- 乐观锁,悲观锁
- 悲观锁 乐观锁
- Mysql安装没有登录密码的解决方法
- 多态相关
- [LeetCode]557. Reverse Words in a String III
- RequestDispathcher中forward()和include()的区别
- Keepalive 安装
- 乐观锁
- poj2502 Subway
- Python 简介
- joda-Time
- UITableView 下拉header放大,statusBar改变颜色
- Java与XML
- Android不同的图片模式,每个像素占用的字节大小
- org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 的一种原因
- Ansible--通过SSH与远程服务器连接