悲观锁乐观锁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了悲观锁乐观锁相关的知识,希望对你有一定的参考价值。

悲观锁:假设会发生并发冲突,屏蔽一切可能违反数据完整性的操作。

乐观锁:假设并发不会发生冲突,只在提交操作时检查是否违反数据完整性。乐观锁不能解决脏读的问题。

hibernate对于乐观锁的实现:在会产生冲突的字段加上annotation @version,hibernate在更新时自动检查该字段

hibernate对于悲观锁的实现:查询的时候加上updlock选项,但是会严重影响性能,对于其它更新用户会产生阻塞。

结论:对于并发不大且不允许脏读的应用,可以使用悲观锁,对于并发量非常大的应用可以采用乐观锁的机制。

 

以上是关于悲观锁乐观锁的主要内容,如果未能解决你的问题,请参考以下文章

乐观锁与悲观锁

什么是乐观锁?

乐观锁--悲观锁

Java 乐观锁 悲观锁

悲观锁乐观锁

乐观锁和悲观锁