《企业应用架构模式》(POEAA)读书笔记 (4)-- 离线并发模式

   并发管理的正确目标是尽量增加对数据的正确访问,同时减少冲突
  离线并发模式有两种:使用乐观离线锁、使用悲观离线锁

  离线锁可以理解为一种非服务器管理的锁,或者说是自管理的锁,应用在适当的地方注册锁,获取数据,然后离线,并对数据进行离线的操作;其他的应用通过检测已经注册的锁来决定是否进行并发操作

1. 悲观离线锁


   悲观离线锁假设会话冲突的可能性很大,从而对系统的并发进性进行限制
   在对不一致读的要求不高时,第一选择是使用独占写锁(不可以再添加任何读锁,当然写锁也不能);如必须读出最新数据,而不在乎是否要修改,则应使用独占读锁(不可以再添加任何写锁,但读锁是允许的)。结合以上两种,提供互斥读锁的限制,又有互斥写锁的并发性的锁称为 读/写锁---读/写锁互斥不能同时加,但并发的读锁是允许的
   构建悲观离线锁的步骤:决定使用哪种锁>>构建一个锁管理对象>>定义业务事务使用锁的过程
   让锁管理对象在锁不可用时抛出异常而不是等待锁释放,可以免除死锁
   悲观离线锁作为乐观离线锁的补充,只在真正需要的时候才应该使用 


2. 乐观离线锁

   乐观离线锁假设会话冲突的可能性很小,从而使得多用户对一份数据进行处理成为可能
  通过冲突检测和事务会滚来防止并发事务中的冲突
  本质就是通过将会话中的版本号与当前记录数据的版本号相比较,事务成功提交以后版本号增加;或者在更新的SQL语句中包含对所有字段的检查,可以不需要为数据库增加版本字段,但可能导致性能损失
  乐观离线锁必须自定检查以防止不一致读
  一个高效的合并策略能使乐观离线锁变得非常强大,当冲突发生时,合并策略可以合并更改并重新提交


 

转载于:https://www.cnblogs.com/QuitGame/archive/2005/12/16/298843.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值