分布式加锁的意义是什么

来源:11-9 事务消息支付实战-4

慕工程6478377

2019-01-30

图片描述
这段代码中,锁区间的代码是一个读的操作,对于一个账户并发而言,我们称为并发1,并发2,假设1先获取锁,然后读取数据库,然后释放锁,在1更新账户之前,2获取锁,然后读取到和1一样的数据,这样一来并没有实现并发下只能一个线程对账户操作的目的。我的想法是:分布式锁的是否是不是等到本地事务执行完成之后在释放

写回答

3回答

daygoodgoodstudy

2021-02-10

我感觉这个锁只是保证了当时版本和要更新的余额是同一个时刻下的,具体在sql里面保障了 update set balance=a,version=version+1 where version = b,锁的区间在适合的情况感觉小一点好

0
0

梨多情

2020-03-25

老师代码里面注释的,锁释放得太早了,根本没什么用

0
0

阿神

2019-02-07

就是要本地执行完成后释放,另外本地事务不加锁

0
0

RocketMQ核心技术精讲与高并发抗压实战

理论+实战,系统掌握RocketMQ核心技术, 挑战高并发抗压实战

1185 学习 · 304 问题

查看课程