数据库的事务能否代替编程语言中的互斥锁
写代码的时候出现了一个思路上的问题
就是对于数据库中的数据,有并发问题 ,比如用户的好友最大数量30,当前用户的好友数量是29,如果用户之前向另外2位玩家发送过好友申请,并且这2位好友同时同意的话,就会出现并发问题。
该逻辑中,是执行了多条不同的sql来处理这个加好友的实现,多条sql是在一个事务中执行的。我一开始的解决思路是在执行第一条sql的时候就加锁,执行完全部sql的时候解锁,但是想到了mysql中是有行锁的 并且第一条sql是会触发行锁的sql ,属于删改类型的sql。
默认这2个线程 的过滤条
原创
2020-05-10 09:50:39 ·
460 阅读 ·
0 评论