首页 > 其他 > 详细

非原子的 64 位操作

时间:2018-09-28 19:46:16      阅读:138      评论:0      收藏:0      [点我收藏+]

Java 内存模型要求,变量的读操作和写操作都必须是原子操作(最低安全性)。

但是也有例外,对于非 volatile 类型的 double 和 long 变量,JVM 允许将 64 位的读操作或写操作分为两个 32 位的操作,因此,多线程中使用共享可变的 long、double 变量是不安全的。

解决办法?用 volatile 关键字声明变量,或用锁保护变量的读写。

非原子的 64 位操作

原文:https://www.cnblogs.com/xmsx/p/9720406.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!