• 乐观锁悲观锁


    这两种锁用来控制并发,不仅仅是用在数据库中。但是数据库中比较常见,我们用数据库来理解。

    悲观锁:

    假设冲突一定会发生,所以在操作的一开始就对数据加锁。 比如 oracle 中select for update。 加上锁以后,别人无法再对该资源进行更改(可读不可写)。

    乐观锁

    假设冲突不一定会发生,所以只要在准备更改的时候才对数据加锁。流程如下:

    1. 读取数据
    2. 业务处理
    3. 更新数据并写回数据库
        3.1 发现DB中的数据跟自己读的时候不一样了,知道有冲突
        3.2 发现DB中的数据没有变,加锁更新
  • 相关阅读:
    个人温度上报小软件
    假期10
    Android开发 07
    假期09
    Android开发 06
    Android开发 05
    假期08
    Android开发 04
    假期07
    每日日报
  • 原文地址:https://www.cnblogs.com/kramer/p/6054203.html
Copyright © 2020-2023  润新知