我有一个问题关于mysql的cas实现乐观锁去解决库存遗留问题时,判断改时值是否还大于0,会不会出现多线程同时更改一条数据,比如a线程在进行where判断时,b也来进行where判断,那么两个同时判断通过,那么然后两个都去修改,两个线程改完值却只减了1,会不会有这种情况,还是说一个在修改的时候另一个不能修改,数据库在没有开事务的时候,有没有默认加锁?
收起
不会出现你说的情况,因为一个线程update时,mysql会加行级锁,另一个线程会阻塞等待。
如有帮助,请采纳,十分感谢!
报告相同问题?