一 参考资料
二 实际生产日志
如图所示:更具日志可知,线程9后于线程5请求更新数据,但是线程5为执行完成中间,线程9有开始调用更新方法,此时线程9对应的version字段和线程5对应的version字段相同,但是线程5早于线程9完成update,此时数据库的version字段已经增加了1,所以线程9再进行数据更新时,version就数据库的字段对不上,所以更新失败。
个人理解如此,总结至此,如有不足之处,烦请各位大佬指出或补充,谢谢。
如图所示:更具日志可知,线程9后于线程5请求更新数据,但是线程5为执行完成中间,线程9有开始调用更新方法,此时线程9对应的version字段和线程5对应的version字段相同,但是线程5早于线程9完成update,此时数据库的version字段已经增加了1,所以线程9再进行数据更新时,version就数据库的字段对不上,所以更新失败。
个人理解如此,总结至此,如有不足之处,烦请各位大佬指出或补充,谢谢。