乐观锁与悲观锁
http://www.cnblogs.com/qjjazry/p/6581568.html
简单抢购 乐观锁与悲观锁的实现
http://blog.csdn.net/evankaka/article/details/70570200
http://blog.csdn.net/evankaka/article/details/70568951
乐观锁(思想) CAS(compare and set)
数据版本
当读取数据时,将version字段的值一同读出,然后对version值加一。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期数据。
读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。
时间戳
当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加一。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期数据。