若不太了解cas,可参考之前我总结的cas详解看下,在这篇文章中就简单讲解下cas在实际开发中的使用
【CAS】解释下CAS,CAS刨析_Little Feel的博客-CSDN博客
实际项目中:若是遇到状态流转的情况,过程a从1更新为2,过程b再由2更新为3,若是过程b更新调用逻辑比a先调用,这个时候就会出现状态问题,直接就会状态先变更为3,然后在变更为2,为了出现上述状况。所以这个时候就会引入CAS的原理:比较并更新。
简单的实现就是update table set status=3 where status=#{oldStatus}
上述是简单的实现,不会遇到ABA更复杂的情况。后续遇到则继续Mark