原子性(Atomicity)

原子性(Atomicity)


Java中,对基本数据类型的读取和赋值操作是原子性操作,所谓原子性操作就是指这些操作是不可中断的,要做一定做完,要么就没有执行。


比如:



上面4个操作中,i=2是读取操作,必定是原子性操作,j=i你以为是原子性操作,其实吧,分为两步,一是读取i的值,然后再赋值给j,这就是2步操作了,称不上原子操作,i++和i = i + 1其实是等效的,读取i的值,加1,再写回主存,那就是3步操作了。所以上面的举例中,最后的值可能出现多种情况,就是因为满足不了原子性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,855评论 1 32
  • volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在...
    传奇内服号阅读 3,382评论 0 2
  • 在研究android单例模式时,找到的一篇关于java并发编程的资料,里面比较详细地讲述了java并发编程的概念和...
    baiaj阅读 3,733评论 0 0
  • (分享自@ImportNew) 一、Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Jav...
    CJStr253阅读 2,953评论 0 0
  • 晋朝时,吴郡沪渎垒地界有个名叫谢端的孤儿,很小父母就去世了,被好心的邻居接济,吃百家饭长大。 谢端忠厚老实,勤劳节...
    我从彩虹那边来阅读 4,839评论 2 4