乐观锁与悲观锁是什么

参考答案

1.  悲观锁(Pessimistic Lock)

  • 线程每次在处理共享数据时都会上锁,其他线程想处理数据就会阻塞直到获得锁。

2.  乐观锁(Optimistic Lock)

  • 线程每次在处理共享数据时都不会上锁,在更新时会通过数据的版本号等机制判断其他线程有没有更新数据。乐观锁适合读多写少的应用场景

3.   乐观锁与悲观锁的优缺点

  • 乐观锁适用于读多写少的场景,可以省去频繁加锁、释放锁的开销,提高吞吐量
  • 在写比较多的场景下,乐观锁会因为版本不一致,不断重试更新,产生大量自旋,消耗 CPU,影响性能。这种情况下,适合悲观锁。

以上,是Java面试题【乐观锁与悲观锁是什么】的参考答案。

 

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧