《企业应用架构模式》读书笔记1-并发

避免并发
隔离性和不变性
1、隔离
    划分数据,使得每一片数据只能被一个执行单元访问。
    隔离是一种减少错误发生的有效技术。可以使用隔离方法安排资源,以便程序进入的是隔离区,而无需考虑并发问题。
    好的并发设计应该是:找个各种创建隔离区的方法,并且保证每个隔离区里能够完成尽可能多的任务。

2、不变性
    只有共享数据可以修改的情况下,才会出现并发问题。所以,一个避免并发冲突的方法是识别哪些是不变的数据。  
    通过定义某些不变的数据,或者至少是几乎总不变的,就可以不用考虑这些数据的并发。
并发处理
乐观锁和悲观锁
    1、乐观锁
        使用版本号,时间戳等,在提交数据时进行比对,来检测冲突,它其实不是锁,只是一种冲突检测策略。
    2、悲观锁
        同一个时间段,只能有一个执行单元来修改数据,其他执行单元必须等待它执行完才能获取数据。它是一种冲突避免策略。

    3、选择使用哪一种锁?
        选择标准是:冲突的频繁性和严重性。如果冲突很少,或者后果不是很严重,那么通常情况下选择乐观锁策略。
        如果冲突的结果对用户来说是痛苦的,那么就要使用悲观锁策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值