背景:项目初期,为了提早上线,买了一个系统,然后就上线了,代码全是他们自己封装的。
现在要重构,表不能改,原来大量的用的 jdbc ,使用 for update 来进行行锁
现在改成 spring mybatis ,只用事务的话,还需要 for update 吗?
金融类的,有没有比较好的框架 对同步和冰法支持比较好的,大家推荐下
1
mahone3297 2015-11-03 18:04:32 +08:00
底层,都用 for update 来锁的吧?还有其他所的方式吗?
|
2
SmiteChow 2015-11-04 16:13:38 +08:00
事务和同步锁是两种概念,需要同时使用。
|
4
SmiteChow 2015-11-04 18:19:23 +08:00
@li24361 是的,事务说的是 ABC 三个操作中任意错误都回滚撤销 ABC 的操作,同步锁说的是,如果当前线程执行 B 操作导致 R 记录被锁,那么其他线程执行 B 时会等待直到超时或得到锁才能进行读写 R ,如果没有锁,那么可能同时两个线程修改 R ,导致更新丢失。
|