乐观锁:
大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个“version”字段开实现读取数据时,将此版本号一同读出,之后更新时,对此版本号加1.此时,将提交数据的版本号与数据表对应记录的当前版本号进行对比,如果提交的数据版本号大于当前的数据版本号,则予以更新,否则认为是过期数据。
比如:版本控制器svn就肯定乐观锁的实现。首先中央仓库和个人仓库中的版本号都一致。如果拉下来的进行了修改,本地对应的锁自增。然后提交到中央仓库后中央仓库的锁变成提交者的锁,之后就乐观锁控制。