乐观锁的话,我们都知道是什么原理,但是它在开发中到底是如何应用的呢?其实并没有想象中那么复杂,反而使非常简单。
CAS,需要比较内存位置、预期值、新值,在java的concurrent系列中有所应用。但在开发中更常用的版本号机制。
乐观锁中版本号机制的应用,其实非常简单,就是在数据库的表中多加了一个字段:version(版本号)。每次修改时比较数据库的version是否修改过即可。
在所有的修改操作中添加条件:
where version = ?
“?”里是查询时,拿到的版本号
version bigint(20) 数据版本:乐观锁