文章目录
前言
常见锁策略
1、悲观锁 VS 乐观锁
2、读写锁 vs 普通的互斥锁
3、重量级锁 vs 轻量级锁
4、挂起等待锁 vs 自旋锁
小结
5、公平锁 和 非公平锁
6、可重入锁 和 不可重入锁
总结
拓展一 :synchronized 与 锁策略的对应关系
相关面试题
1、 你是怎么理解乐观锁和悲观锁的,具体怎么实现呢?
2、 介绍下读写锁?
3、 什么是自旋锁,为什么要使用自旋锁策略呢,缺点是什么?
4、 synchronized 是可重入锁么?
CAS
什么是CAS?
CAS 如何帮我们解决一些线程安全问题?
1、基于CAS 能够实现“原子类”
2、基于 CAS 能够实现“自旋锁”
如何理解 CAS中的 ABA 问题?- 面试主要问的问题
如何处理ABA问题
相关面试题
1、 讲解下你自己理解的 CAS 机制
2、ABA问题怎么解决?
synchronized 中的 锁优化的机制
基本特点 - 前面讲过的
synchronized 几个典型的优化手段
1、锁膨胀/锁升级
2、锁粗化
3、锁消除
Java中的 JUC 包
callable接口
ReentrantLock
ReentrantLock 的 基础用法
ReentrantLock 和 synchronized 区别
信号量 - Semaphore
CountDownLatch
线程安全的集合类
多线程环境使用 ArrayList
多线程环境使用队列
多线程使用哈希表 - 面试最爱考
文章目录
前言
常见锁策略
1、悲观锁 VS 乐观锁
2、读写锁 vs 普通的互斥锁
3、重量级锁