一、三种典型不一致:
假设数据A=1
1.脏读:
-> T1读取A=1
-> T1修改写入A=2
-> T2读取A=2
-> T1rollback,即A=1
T2读取的数据是错误的
2.丢失修改
-> T1读取A=1
-> T2读取A=1
-> T1修改A=A+1=2
-> T2修改A=A+1=2
-> T1写A=2
-> T2写A=2
修改两次A+1,但是A的值只加1
3.不能重复读
-> T1读取A=1
-> T2读取A=1
-> T2修改并写入A=2
-> T1再次读取A=2
T1第一次读取和第二次读取值不同
二、悲观锁和乐观锁
1.悲观锁(独占锁)synchronized:
假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。
具有强烈的独占和排他特性。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁