采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师, 我还是不太理解AtomicInteger是怎么保证线程安全的, 就像例子中的两个线程对AtomicInteger进行自增, 一开始变量等于0, a线程执行cas(0, 1), 那b线程也是cas(0, 1)啊, 最后不还是少加了么.
cas如果失败就会重试,它本身是不限定起始和截止的数字的,他只是加一,如果他这次从0到1失败了,那么下一次他去取的时候,假设起始是一,那他就会加到二,他会保证最终完成这一次加一的过程。
1.我有点绕晕了, 我可以这么认为么, 就是具有原子性的操作一定是线程安全的. 2.我还想问下在cas的过程中, 其他线程还可以对变量写操作么?
CAS原子指令的过程中,其他线程是无法打断的
非常感谢!
登录后可查看更多问答,登录/注册
JUC全方位讲解,构建并发工具类知识体系
961 11
1.4k 10
993 10
976 10
1.4k 9