博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java多线程——非原子64位操作(long,double)
阅读量:7194 次
发布时间:2019-06-29

本文共 290 字,大约阅读时间需要 1 分钟。

  hot3.png

        在64位操作系统上读写64位数据是原子操作。
在32位操作系统上对64位变量读写的非原子性。简单的说,在32位操作系统上,对64位的数据的读写是分两步的,一步取前32位数据,一步取后32位数据,通过这两步操作来实现对64位数据的读写。但是这样的非原子性操作会有问题。因为,假如在读或写一个64位的高32位的数据的时候,另外一个线程写了该64位数据的低32位,这样就会使得获取的64位数据是失效数据。如果想要避免这种情况,就用关键字volatile声明64位的变量,或者把对他们的读写操作锁起来。

转载于:https://my.oschina.net/czg/blog/142715

你可能感兴趣的文章
详解Linux系统下ADSL拨号上网方法
查看>>
实验室博客
查看>>
GC这篇文章介绍得很基本
查看>>
Windows Tftpd32 DHCP服务器 使用
查看>>
1.准备工作及实例
查看>>
ngResource提交json数据如何带参数
查看>>
五步学习法 - 俗却有道理
查看>>
xmind8
查看>>
Filter 配置多个URL-PATTERN
查看>>
使用渐进式JPEG来提升用户体验
查看>>
2 笔经小结
查看>>
C# 操作摄像头
查看>>
maven的几个重要配置文件pom.xml、settings.xml;Maven打包生成包含所有依赖的jar包...
查看>>
ReLU为什么比Sigmoid效果好
查看>>
优秀的博客链接地址
查看>>
CentOS 配置防火墙操作实例(启、停、开、闭port)
查看>>
深入浅出 spring-data-elasticsearch - 基本案例详解(三
查看>>
Android 6.0 最简单的权限获取方法 RxPermition EasyPermition
查看>>
Linux多线程实践(四 )线程的特定数据
查看>>
openssl ca(签署和自建CA)
查看>>