一分钟理解乐观锁与悲观锁

悲观锁:很悲观,认为每个数据库操作都想修改数据,因此所有数据库操作(增删查改)都加锁。比较安全,能够实时反映完整数据,但是性能较低。
乐观锁:很乐观,认为每个数据库操作都不会冲突(同一时刻不会有另一个线程进行数据库修改操作)。于是就不加锁了,但是简单的这样实现肯定会出问题(万一同一时刻真有另一个线程进行修改操作呢),于是在每次进行数据更新操作时加锁,判断一下此次更新是否只有我一个人操作。较悲观锁性能有一定提升,不能解决脏数据问题。
二者没有绝对的好坏,最好的选择方案还是根据具体的业务情况进行选择,如果冲突较多,则采取悲观锁,如果查询操作较多,采取乐观锁较好。

猜你喜欢

转载自blog.csdn.net/u012882327/article/details/70071589