CAS原子性

步骤 1.读旧值(即从系统内存中读取所要使用的变量的值,例如:读取变量i的值)
步骤2.求新值(即对从内存中读取的值进行操作,但是操作后不修改内存中变量的值,例如:i=i+1,这一步只进行i+1,没有赋值,不对内存中的i进行修改)
步骤3.两个不可分割的原子操作

第一步:比较内存中变量现在的值与 最开始读的旧值是否相同(即从内存中重新读取i的值,与一开始读取的i进行比较)
第二步:如果这两个值相同的话,则将求得的新值写入内存中(即:i=i+1,更改内存中的i的值)如果这两个值不相同的话,则重复步骤1开始
注:这两个操作是不可分割的原子操作,必须两个同时完成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,660评论 8 265
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,048评论 2 89
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 首遇之时,无比热闹温馨 时过境迁,三两人已离去 此时此刻,又一故人离开 此情此景,难望三两故人 想诉而无处可诉 情...
    夏天知秋烨阅读 286评论 0 3
  • 说来惭愧,我第一次接触到茉莉花还是在我的学生时代,而且非茉莉花真身,而是某品牌的茉莉花茶——超市购物架上摆...
    蕾蕾1702阅读 432评论 4 2