有一个问题就是,比如有一个字段是剩余金额,限制要加钱,但是又两个线程同时调用+100块钱,如果采用先读取余额,再把加好的钱set进去的,这肯定会出问题。第一个修改完了之后,第二个是在旧的值上加100,其实等于只加了100,而不是加200。这属于什么类型的问题。
我能想到的解决方法就是,要不然就是在sql中写出amount=amount+xxx的方法去修改字段,或者要不然就是在这个业务方法上加锁。但是不知道这两种方法会不会有别的什么问题。
不知道大家有没有什么好的,或者已经很成熟的现成的解决方案。
jeck猫
相关分类