关于原子类如何保证线程安全

来源:6-3 案例演示

woy

2020-02-15

老师, 我还是不太理解AtomicInteger是怎么保证线程安全的,
就像例子中的两个线程对AtomicInteger进行自增, 一开始变量等于0, a线程执行cas(0, 1), 那b线程也是cas(0, 1)啊, 最后不还是少加了么.

写回答

1回答

悟空

2020-02-15

cas如果失败就会重试,它本身是不限定起始和截止的数字的,他只是加一,如果他这次从0到1失败了,那么下一次他去取的时候,假设起始是一,那他就会加到二,他会保证最终完成这一次加一的过程。

0
3
woy
非常感谢!
2020-02-16
共3条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程