Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


软考-系统架构设计师:并发控制

软考 系统架构设计师 大约 287 字

并发产生的问题

  • 丢失更新
  • 不可重复读问题
  • “脏”数据的读出

解决方案

封锁协议:S封锁,X封锁。

  • 一级封锁协议:事物T在修改数据R之前必须先对其加X锁,直达事物结束才释放。可防止丢失修改。
  • 二级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据。
  • 三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读。
  • 两段锁协议:可串行化的。可能发生死锁。

死锁问题

预防法、死锁的解除法

事务

  • 原子性
  • 一致性
  • 隔离性
  • 持续性
阅读 1057 · 发布于 2019-09-14

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批