zoukankan      html  css  js  c++  java
  • 悲观锁与乐观锁

    1、悲观锁并发控制方案,就是在各种情况下都上锁,上锁之后,就只有一个线程可以操作这些内容了。在不同的情况下可以设置不同的锁,比如:行级锁,表级锁。
    2、乐观锁并发控制方案,是不加锁的,写入的时候会判断当前数据的版本号跟es中的版本号是否相同,如果相同就直接写入;如果版本号不相同,说明数据已经被其他线程修改过了,此时该线程会从es中重新读取最新版本的数据,再次执行逻辑处理,然后重复以上流程。
    -----------------------------------------------------------------------------------------------------------
    悲观锁与乐观锁的优缺点:
    1、悲观锁的优点:方便,直接加锁,对应用程序来说,透明,不需要做额外的操作。
    缺点:并发能力很低,同一时间,只能有一条线程操作数据。
    2、乐观锁的优点:并发能力很高,不给数据加锁,可以大量线程并发操作。
    缺点:麻烦,每次更新数据的时候,都要先对比版本号,然后可能需要重新加载数据,再次执行逻辑处理,再写;这个过程可能要重复很多次。

  • 相关阅读:
    python练习:http协议介绍
    python练习(-)
    字符集与字符编码的强化理解与操作实践
    jquery设置select选中的文本
    盘点互联网巨头奉献的十大开源安全工具[转]
    $.ajax()函数
    sql事务
    json操作工具-LitJson
    接收图片二进制流并保存图片
    用Linq取两个数组的差集
  • 原文地址:https://www.cnblogs.com/qinjf/p/8460186.html
Copyright © 2011-2022 走看看