AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
锁
2020-06-08 09:50:57
0
举报
分享方式
使用 (¥5)
Java 锁 脑图
java
模板推荐
作者其他创作
大纲/内容
锁的分类
线程要不要锁住同步资源
锁住
悲观锁
不锁住
乐观锁
多线程能够共享一把锁
可以
共享锁
不可以
独占锁
多线程竞争时,是否排队
排队
公平锁
先尝试插队,插队失败再排队
非公平锁
同一个线程是否可以重复获取同一把锁
可以
可重入锁
不可以
不可重入锁
是否可中断
可以
可中断锁
不可以
非可中断锁
等锁的过程
自旋
自旋锁
阻塞
非自旋锁
乐观锁和悲观锁
悲观锁
乐观锁
实现
版本号方式
CAS
乐观锁的缺点
ABA问题
循环时间开销大
只能保证一个共享变量的原子操作
公平锁和非公平锁
公平锁
优势
劣势
非公平锁
为什么要有非公平锁?
特例:tryLock()
优势
劣势
自旋锁和阻塞锁
自旋锁
代码实现
适用场景
阻塞锁
锁优化
自旋锁和自适应
锁消除
锁粗化
偏向锁
偏向锁的工作流程
对象的哈希码怎么处理?
轻量级锁
HotSpot虚拟机对象的内存布局
轻量级锁的工作流程
加锁
解锁
使用条件
线程的中断
isInterrupted()
Thread.interrupted()
重载方法isInterrupted(boolean ClearInterrupted)
interrupt()
Lock接口
简介、地位和作用
为什么需要Lock
方法
lock()
tryLock()
tryLock(long time, TimeUnit unit)
lockInterruptibly()
unlock()
可见性保证
ReentrantLock和synchronized到底锁定什么了?
可重入锁和非可重入锁
避免死锁
提高封装性
共享锁和排它锁/独占锁
共享锁/读写锁
读写锁的作用
读写锁的规则
ReadWriteLock
WriteLock
ReadLock
读锁和写锁的交互方式
选择规则
读线程插队
升降级
为什么要升降级?
支持锁的降级,不支持锁的升级
排它锁/独占锁
synchronized
ReentrantLock
可中断锁
锁池和等待池
锁池
等待池
收藏
立即使用
锁
南有乔木zzz
职业:暂无
去主页
Collect
Get Started
公平锁和非公平锁
Collect
Get Started
锁升级
Collect
Get Started
应用锁指纹时序
Collect
Get Started
乐观锁和悲观锁
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document