欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多账户(大于2个)转账死锁问题

程序员文章站 2022-04-19 13:53:23
...
并发事务中,操作相同账户可能会引发死锁,我列举一个死锁问题,希望万能的网友帮忙想出个好的方案。
假如两个并发转账事务,涉及A/B/C  3个账户:
事务1,A向B转账,B向C转账:
   A->B   B->C
事务2,C向B转账
   C->B

事务1获取到了A、B账户行锁,
同时事务2获取到了C账户行锁,
此时 事务1想要再去获取C账户行锁,但是事务2获取到了C账户行锁,想要去获取B账户行锁,此时就发生了死锁,这种问题有什么好的解决方案,希望大家帮帮忙

若把转账改为序列化执行可以解决这个问题,但是会影响性能,不可取,有什么其他的巧的办法不