1. 数据库集群模式(1主多从)
2. 单机数据库
3. 数据库必须提供行级锁功能
代码
// 更新当前值为new updateCurrentValue(id new, old);old:通过id 查到的值
new:期望的值
id:表的主键
UPDATE user t SET t.CURRENT_VALUE=:new WHERE t.ID =:id AND t.CURRENT_VALUE=:old
1. 通过id获取CURRENT_VALUE的值作为old
2. 多线程情况下,有线程A更新了CURRENT_VALUE的值,那么当前线程更新就不成功。因为t.CURRENT_VALUE和old的值不相等。因为是行级锁,更新表数据的时候,只有一个线程执行。所以可以保证可以作为分布式共享锁
本文地址:https://blog.csdn.net/zhou920786312/article/details/107676304
如对本文有疑问, 点击进行留言回复!!
Oracle查询用户,表结构,表索引,存储过程,触发器等信息整理
oracle的自连接、内连接、外连接、交叉连接、自然连接、等值连接、不等值连接
Oracle数据库使用replace函数批量删除数据中的双引号
网友评论