issues
search
wuqiu-ai
/
daily-interviews
java面试之每日一练
0
stars
0
forks
source link
[基础] 第12天 CAS原理 2020-09-07
#77
Open
wuqiu-ai
opened
4 years ago
wuqiu-ai
commented
4 years ago
CAS原理?
wuqiu-ai
commented
4 years ago
包含三个操作数,内存位置(V),预期原值(A)和新值(B);
JUC中的atomic包中提供了原子性数据类型以及引用、数组等相关原子性类型和更新操作工具,是很多线程安全程序的首选;
Unsafe类虽然提供CAS服务,但因能够操作任意地址读写而有隐患;
java9之后,可以使用variable handle api来替换unsafe;
CAS的缺点
如果循环时间长,则开销很大;
只能保证一个共享变量的原子操作;(用锁)
ABA问题;(增加版本,AtomicStampedReference)
CAS原理?