无锁编程核心
CAS 原理 ⭐⭐⭐⭐⭐
什么是 CAS
// 伪代码
boolean compareAndSwap(V, E, N) {
if (V == E) {
V = N;
return true;
}
return false;
}CAS 底层实现
CAS 使用示例
CAS vs 锁
特性
CAS
synchronized/Lock
ABA 问题 ⭐⭐⭐⭐⭐
问题描述
解决方案
Atomic 原子类 ⭐⭐⭐⭐⭐
基本类型原子类
数组类型原子类
引用类型原子类
字段更新器
累加器(JDK 8+)
无锁队列 ⭐⭐⭐⭐
ConcurrentLinkedQueue
ConcurrentLinkedDeque
队列对比
队列
阻塞
有界
实现
性能
面试要点 ⭐⭐⭐⭐⭐
参考资料
Last updated