深入ABA问题及其解决方案.pdf

ABA问题遇到过吗,详细说一下

1.有两个线程同时去修改一个变量的值,比如线程1、线程2,都更新变量值,将变量值从A更新成

B。

2.首先线程1获取到CPU的时间片,线程2由于某些原因发生阻塞进行等待,此时线程1进行比较更新

(CompareAndSwap),成功将变量的值从A更新成B。

3.更新完毕之后,恰好又有线程3进来想要把变量的值从B更新成A,线程3进行比较更新,成功将变

量的值从B更新成A。

文档评论(0)

1亿VIP精品文档

相关文档