zoukankan      html  css  js  c++  java
  • 关于CAS中的ABA问题存在的隐患

    一开始觉得ABA问题确实是个问题,但是具体场景是什么呢,虽然过程改了,但是结果一样,取的值也一样
    不明所以,不过呢,这里也有一个小的demo可以说明一下

    该例子通过AtomicReference判断对象User是否发生了改变,单从对象来说,没有变吧,结果输出也是

    不会吧不会吧,你和我说,天黑了,看不清人,但是一摸就知道是人啊,在家里除了你武大郎还能是谁呢
    我想想也是,我武大郎是人,西门庆不也是人啊,所以武大郎=西门庆,我潘金莲做的事怎么会是错的呢,
    所以是true吧
    那到底是不是true呢?
    由此呢看出来CAS比较的是对象是否发生了变化,你这个人是不是变成了动物,并没有在意内容的变化
    CAS可能会导致某些集合类的操作并不是原子性的,因为你并不能保证在CAS的过程中,有没有其他的节点发送变化。
    链表的解释就百度一下吧,道理相通
    当然要是你发生了这种事情能想通,那就没法了

    有句话怎么说,你出去打拼多年回来了,她却说你变了
    你还是那个你

  • 相关阅读:
    HTML元素 绑定href属性
    form提交不刷新,不跳转页面
    使用MVCPager做AJAX分页所需要注意的地方
    docker基础命令,常用操作
    docker基础
    redis持久化 RDB与AOF
    redis哨兵功能
    redis主从同步
    redis不重启,切换到RDB备份到AOF备份
    redis-cluster(集群)
  • 原文地址:https://www.cnblogs.com/zhangyuanbo/p/14155919.html
Copyright © 2011-2022 走看看