锁降级策略

锁降级发生在一个线程中先申请写锁,在释放写锁前又申请了读锁,这样一个线程同时拥有了写锁和读锁,写锁被降级成为了读锁。这样做有什么好处呢?其目的是写后读,保证写操作的可见性。

当一个线程进行完写操作,比如线程A,如果它释放了写锁,其他线程(线程B)如果抢到了写锁就有可能对刚修改的数据进行操作,在占有写锁的时候,是无法申请读锁的(线程A),所以有可能线程A想操作刚才修改的结果是无法完成的(只能等待线程B释放写锁再进行读操作,但是此时线程A读到的数据是线程B修改后的数据),此时可以在释放写锁之前先加个读锁(线程A),这时即使释放了写锁,但是还拥有一个读锁没释放(线程A),其他线程还是无法修改数据,申请写锁(线程B)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值