锁原理之AQS

目录

目标

实现线程安全的hashmap。
实现简单的缓存组件。
如何使用读写锁
AQS原理。

ReadWriteLock

使用场景:

  1. 对集合操作可以实现并发读,互斥写,即给读加读锁,写加写锁。

改进提升互斥锁的性能。
锁降级:获取写锁后,可以在获取读锁,即拿着写锁,获取读锁。
在这里插入图片描述
基本原理
在这里插入图片描述

AQS抽象队列同步器

对加锁解锁的公共代码的抽象,try方法留给用户自己实现。
使用场景:ReentrantLock,ReentrantReadWriteLock,CountDownLatch
提供公共的逻辑,真正的加锁逻辑,由用户自己实现,AQS不会实现真正的抢锁逻辑。
可以理解为实现锁的一个工具类,利用模版方法模式抽出公共代码。
读写锁是由AQS来实现的。
在这里插入图片描述

ReadWriteLock用一个int存储了两个count值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值