悲观锁
当一个线程操作数据时,另一个线程过来也操作这个数据,一旦多个线程操作同一个数据,就可能产生资源共享问题
解决资源共享问题:使用多线程的同步机制(synchronized),保证资源的安全性
悲观锁在数据库中也成为行级锁。
每次操作数据的时候都会担心数据被修改,所以每次操作的时候都会加上锁,确保自己操作数据时不会被别人修改,其他想操作数据的只能等待释放锁
乐观锁
允许多线程并发操作数据,但是会给每个数据加上版本信息,每次数据的修改,版本信息也会跟着修改,当两个线程同时修改同一个数据时,先提交的会成功,后提交的线程会失败,因为版本信息已过时,先更新信息再提交